2009-05-30 56 views
0
OdbcDataReader q = dbc.Query("SELECT * FROM `posts` WHERE `id`=" + id.ToString()); 
if (q.RecordsAffected < 1) 
{ 
    this.Exists = false; 
} 
else 
{ 
    this.Exists = true; 
    this.Author = q.GetString(6); 
} 

服務器返回No data exists for the row/column.問題通過ODBC訪問MySQL數據庫

我的數據庫表的結構是這樣的(擷取畫面從phpMyAdmin的) http://1.img.anyhub.net/1243660397_6485910f8b3fc9ee3e2d93831ad554fd.png

順便說一句,dbc只是一個數據庫連接類我的;該Query()功能是這樣的:

public OdbcDataReader Query(string QueryStr) 
{ 
    OdbcCommand q = new OdbcCommand(QueryStr, conn); 
    OdbcDataReader r = q.ExecuteReader(); 
    return r; 
} 

回答

1

我認爲你應該使用DataReader.Read方法之前,你可以從它那裏得到的數據。

q.Read(); 
this.Author = q.GetString(6); 

並與你的DataReader和Command對象

+0

耶穌我建議使用using塊......到底是怎樣管理我錯過閱讀()? 我也有所有的塊,但我只是複製/粘貼相關的位。 – 2009-05-30 05:44:04