错误:“行/列不存在数据”使用 OdbcDataReader

Posted

技术标签:

【中文标题】错误:“行/列不存在数据”使用 OdbcDataReader【英文标题】:Error: "No data exists for the row/column" using OdbcDataReader 【发布时间】:2011-12-24 02:20:21 【问题描述】:

即使我知道我正在执行的确切 SQL 查询有数据,但由于我直接在数据库上执行 SQL 查询,我不断收到异常说不存在数据。我的代码如下:

      try
        
            dbConnection.Open();

            // Process data here.
            OdbcCommand dbCommand = dbConnection.CreateCommand();
            dbCommand.CommandText = "select forename from tblperson where personcode in (select clientcode from tblclient) and surname = '######'";
            OdbcDataReader dbReader = dbCommand.ExecuteReader();

            Console.WriteLine(dbReader.GetString(0));

            dbReader.Close();
            dbCommand.Dispose();
        
        catch (Exception ex)
        
            Console.WriteLine(ex.Message);
        
        finally
        
            dbConnection.Close();
        

谁能告诉我为什么会发生这种情况。查询应该返回一个结果,我目前这样做只是为了确保它正在工作,但它似乎没有。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

在调用ExecuteReader 之后,读取器位于第一个返回的记录之前。要读取第一条记录,您需要致电Read()

dbReader.Read()

当然,如果有多行:

while (dbReader.Read())

【讨论】:

以上是关于错误:“行/列不存在数据”使用 OdbcDataReader的主要内容,如果未能解决你的问题,请参考以下文章

数据存在,但我的程序显示“行/列不存在数据”。

从 VB.net 连接到 SQL 数据库时,“行/列不存在数据”

使用 gmail api tuto 的错误使用 python 3“除了错误。HttpError,错误:”

使用 axios 获取 400 错误错误请求

如何使用捕获错误处理角度错误

提交表单时jsfiddle错误“错误”:“请使用POST请求”