【问题标题】:Problem accessing a MySQL database over ODBC通过 ODBC 访问 MySQL 数据库时出现问题
【发布时间】:2009-05-30 05:16:34
【问题描述】:
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 的屏幕截图) 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;
}

【问题讨论】:

    标签: c# asp.net mysql database odbc


    【解决方案1】:

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

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

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

    【讨论】:

    • 耶稣...我到底是怎么错过 Read() 的?我也有所有这些,但我只是复制/粘贴了相关位。
    • 我现在觉得很尴尬。
    猜你喜欢
    • 1970-01-01
    • 2017-02-23
    • 2021-08-11
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 2016-01-10
    相关资源
    最近更新 更多