0

我有一个基本的 sql 语句,它查找用户并返回一条记录,但是当我运行一段代码时,如果(myReader.Read())它返回 false。我单步执行了代码并检查了 reader 对象,它实际上包含一条记录。下面是代码。

sql: SELECT user_name, user_password, user_state FROM users 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>
          }
       }
4

1 回答 1

1

尝试:

if (myReader.HasRows)
  while (myReader.Read())
  .....
于 2010-02-04T14:12:43.270 回答