編輯:我解決了我的問題,但如果你有任何添加請做。由於從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博客中獲取數據?
感謝您的幫助 - 這一直使我瘋狂。