【发布时间】:2011-02-04 06:54:13
【问题描述】:
编辑:我解决了我的问题,但如果您有什么要补充的,请执行。谢谢
注意:我没有使用我的网站创建由托管在 GoDaddy 上的 Wordpress 创建的数据库
我有一个名为“wordpress”的 MySql 数据库(为了清楚起见)。我希望能够从我的博客中获取最新的帖子并将其显示在我的网址的登录页面上。 所以我的想法是:连接到 MySql DB,运行查询以获取最新的帖子,显示帖子。
我建立了一个类来处理连接和处理请求:
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 是我创建的一个视图,用于简化queryString,因为查询有点长。
我已经知道视图有效。我通过从 GoDaddy 托管中心打开 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 博客中获取数据的人?
感谢您的帮助 - 这个问题让我发疯了。
【问题讨论】:
标签: mysql asp.net database-connection connection-string