Oracle DataReader возвращает 1 строку, но метод Read возвращает false - PullRequest
0 голосов
/ 04 февраля 2010

У меня есть базовый SQL-оператор, который ищет пользователя и возвращает одну запись, но когда я запускаю блок кода, который говорит, что (myReader.Read ()) он возвращает false.Я прошел через код и исследовал объект читателя, и он действительно содержит одну запись.ниже приведен код.

sql: ВЫБЕРИТЕ 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 Ответ

1 голос
/ 04 февраля 2010

Попробуйте:

if (myReader.HasRows)
  while (myReader.Read())
  .....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...