當我運行在SQL Developer中下面的SQL語句將返回2行:甲骨文DataReader沒有返回任何行
SELECT * FROM TEST
當我運行在同一connenction下面的代碼中,datareader.HasRows會假:
OracleCommand cmd = new OracleCommand();
cmd.Connection = Connection;
cmd.CommandText = "SELECT * FROM TEST";
OracleDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
System.Windows.Forms.MessageBox.Show(dr.GetString(1));
}
}
else
{
System.Windows.Forms.MessageBox.Show("no found rows");
}
爲什麼datareader不包含任何行?
其他信息:
- 的Oracle 11g XE 64位安裝。
- 安裝ODAC 11.2 64位。
- 添加了對「oracle \ odp.net \ bin \ 4 \ Oracle.DataAccess.dll」的引用
- 已添加:using Oracle.DataAccess.Client;
'connection'應該打開嗎? – 2014-10-20 12:43:50
您確定該表格包含任何記錄嗎?你有沒有例外? – Rik 2014-10-20 12:45:18
嘗試將「Test」表更改爲「Dual」。如果'datareader.HasRows'變爲'true',則「Test」爲空,如果不是(即仍爲'false'),則檢查連接 – 2014-10-20 12:46:34