好吧,這一個是讓我完全瘋了。我在PostgreSQL數據庫中有一個表,我試圖用OdbcDataReader.GetBoolean(int col)獲取特定記錄的布爾值列。奇怪的問題與OdbcDataReader.GetBoolean()投擲演員是無效的例外布爾列
問題是GetBoolean()一直拋出一個強制轉換是無效的異常,即使相同的代碼在幾天前工作。更奇怪的是相同的代碼在另一種形式下工作正常。
從我的應用程序的以前的工作版本所做的唯一更改是在表中添加一列。也就是說,我需要的列的索引沒有改變。噢,獲取GetValue()的值,然後在結果上調用GetType()將返回System.String,並將true/false值轉換爲1/0。
我完全沒有想法。
感謝您的答覆。該列絕對是布爾類型的。在它上面調用reader.GetDataTypeName()會返回「bool」,但是任何嘗試從GetBoolean()中檢索值都會產生很好的異常。此外,就像我說的,完全相同的調用在應用程序的其他地方也可以使用。 – dandan78 2009-07-17 12:04:06
嗯..那很奇怪。完全相同的SQL語句? – tomfanning 2009-07-17 12:23:45