我正在閱讀MySql數據庫,其中一列是DateTime類型。其中一些日期爲空。我似乎無法弄清楚如何檢查值是否爲空。 我認爲IsDBNull以便可以解決這個問題,但它使所有IsDBNull拋出異常
if (!reader.IsDBNull(4))
{
service.ServiceDate = reader.GetDateTime("serviceDate");
}
這是我得到的異常沒有什麼區別:
「的其他信息:無法轉換MySQL的日期/時間值 System.DateTime的」
我也試過
if (System.DBNull.Value == reader.IsDBNull(4))
以及
reader.IsDBNull(4).ToString()
和
Convert.ToBoolean(reader.IsDBNull(4))
我如何檢查它不使用嘗試捕捉?
什麼是讀卡器的類型? – faester 2014-12-01 22:33:51
您正在閱讀的日期時間值是什麼?它可能超出System.DateTime的範圍。 – Blorgbeard 2014-12-01 22:34:16
'IsDBNull'不會拋出該錯誤。但'reader.GetDateTime(「serviceDate」)'應該會導致編譯器錯誤,因爲'GetDateTime'只接受一個'int'作爲列的索引參數。顯示你的真實代碼。 – 2014-12-01 22:34:47