我正面臨着DataReader的一個奇怪問題。我正在使用帶有傳統rdbms系統的OdbcClient。DataReader的奇怪問題?
我發送follwing命令到數據庫。
select Col1, Col2, Col3 from Table1 where Col2 = 'Val1';
但是在某些情況下,當我通過DataReader迭代它時,如下所示。
IDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
// Get the values from reader
int col2 = reader.GetValue(1);
}
雖然我在數據庫的Col2列中有價值,但我得到的Col2值爲DBNull。我正確地獲取Col1和Col3的值。這種行爲的可能原因是什麼?
更新:如果在調用cmd.ExecuteQuery()之前調用cmd.Prepare(),則這是固定的。請任何人都可以解釋這種行爲?
檢查您的拼寫在Col2 ='Val1; – 2010-03-24 14:58:02
將數據加載到DataTable時會發生什麼? 'table.Load(讀取器)' – Lijo 2013-12-13 08:24:59