编辑:我解决了我的问题,但如果你有任何添加请做。由于从MySql返回结果的麻烦
注:我没有创建它的创建由WordPress的托管在GoDaddy的与我的网站
我有一个名为“WordPress的” MySQL数据库(为清楚起见)的DB。我希望能够从我的博客中抓取最新的帖子,并在着陆页上显示我的网址。 所以我的想法是这样的:连接到MySql数据库,运行查询来抓取最近的帖子,显示帖子。
我建立一个类来处理的连接,并处理该请求:
public class DAL
{
private string connectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=[server here]; PORT=[port]; DATABASE=wordpress;
USER=[user name here]; PASSWORD=[password here];";
private OdbcConnection blogConnection;
public DAL()
{
blogConnection = new OdbcConnection(connectionString);
}
public String[] GetRecentPost()
{
string queryString = "SELECT * FROM RecentPost";
String[] recentPost = new String[3];
//ODBC
blogConnection.Open();
OdbcCommand MySqlDB = new OdbcCommand(queryString, blogConnection);
OdbcDataReader reader = MySqlDB.ExecuteReader();
while (reader.NextResult())
{
recentPost[0] = reader.GetString(0);
recentPost[1] = reader.GetString(1);
}
recentPost[2] = reader.HasRows.ToString();
blogConnection.Close();
return recentPost;
}
}
在queryString
上述RecentPost
是我创建简化查询字符串,因为查询是有点长的图。 我已经知道视图的作品。我通过在GoDaddy Hosting Center中打开phpMyAdmin来测试它,并执行上面的查询,并且得到了正确的结果,所以我不认为查询/视图是错误的。
代码隐藏的着陆页:
protected void Page_Load(object sender, EventArgs e)
{
DAL dataAccess = new DAL();
String[] recentPost = dataAccess.GetRecentPost();
Title.Text = recentPost[0];
Post.Text = recentPost[1];
Extra.Text = recentPost[2];
}
所以,当我的页面加载Title
和Post
文本是空的,Extra.Text
是False
(从DAL
是价值从reader.HasRows
)。 所以我的猜测是,它的连接很好,运行查询,但也许在错误的数据库?我不知道。
我也尝试调试,但然后我的代码抛出一个关于尝试连接到数据库的错误。
所以我的问题是:你看到连接字符串有什么问题吗?
如果没有看到别的东西,会导致建立连接,运行查询,没有引发异常但没有返回结果?
任何一个有经验的人试图从他们自己的WordPress博客中获取数据?
感谢您的帮助 - 这一直使我疯狂。