我有一個基本的sql語句,它查找用戶並返回一條記錄,但是當我運行一段代碼時,說明if(myReader.Read())它返回false。我瀏覽了代碼並檢查了讀者對象,事實上它包含了一條記錄。下面是代碼。Oracle DataReader返回1行但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>
}
}
這是否查詢返回的結果從sqlplus中或SQL Developer中運行時? – thecoop 2010-02-04 13:16:41
是的,在蟾蜍中運行sql並返回結果。驗證連接字符串是指向正確的數據庫。 – TampaRich 2010-02-04 14:38:25