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

时间:2011-12-24 02:20:22

标签: c# odbc datareader

即使我知道我正在执行的确切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 个答案:

答案 0 :(得分:6)

调用ExecuteReader后,读者会在之前找到第一个返回的记录。要阅读第一条记录,您需要致电Read()

dbReader.Read()

当然,如果有多行:

while (dbReader.Read())