问题通过ODBC访问MySQL数据库

问题描述:

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; 
} 

我认为你应该使用DataReader.Read方法之前,你可以从它那里得到的数据。

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

并与你的DataReader和Command对象

+0

耶稣我建议使用using块......到底是怎样管理我错过阅读()? 我也有所有的块,但我只是复制/粘贴相关的位。 – 2009-05-30 05:44:04