本文介绍了Oracle DataReader返回1行,但Read方法返回false的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个基本的sql语句,该语句查找用户并返回一条记录,但是当我运行一段代码说if(myReader.Read())时,它返回false.我单步执行代码并检查了读者对象,实际上它包含一条记录.下面是代码.
I have a basic sql statement that looks up a user and returns one record but when I run a block of code that says if(myReader.Read()) it returns false. I have stepped through the code and examined the reader object and it does in fact contain one record. below is the code.
sql: 选择用户名,用户密码,用户状态 来自用户 WHERE users.user_id = 123
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> } }推荐答案
尝试:
if (myReader.HasRows) while (myReader.Read()) .....更多推荐
Oracle DataReader返回1行,但Read方法返回false
发布评论