通过ODBC访问MySQL数据库时出现问题

时间:2009-05-30 05:16:34

标签: c# asp.net mysql database odbc

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.

我的数据库表结构如下(来自phpMyAdmin的screencap) 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 个答案:

答案 0 :(得分:1)

我认为您应该先使用DataReader.Read方法,然后才能从中获取数据。

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

我建议在DataReader和Command对象中使用using块