Oracle DataReader返回1行,但Read方法返回false

时间:2010-02-04 13:15:11

标签: c# oracle datareader

我有一个基本的sql语句,它查找用户并返回一条记录但是当我运行一段代码if(myReader.Read())时它返回false。我已经逐步完成了代码并检查了读者对象,它确实包含了一条记录。下面是代码。

SQL: SELECT user_name,user_password,user_state   来自用户  WHERE users.user_id = 123

    System.Data.Common.DbCommand _cmd = this.GetCommand(conn, _dbf, sqlText, CommandType.Text);
     System.Data.Common.DbConnection _cn = _cmd.Connection;
     System.Data.Common.DbDataReader myReader = null;

     _cn.Open();
     using(_cn) {
        myReader = _cmd.ExecuteReader();
        if (myReader.Read())  {
                <object gets built here with user data returned from sql>
          }
       }

1 个答案:

答案 0 :(得分:1)

尝试:

if (myReader.HasRows)
  while (myReader.Read())
  .....