2010-08-18 30 views
0

美好的一天。我正在使用OLEDB連接來連接到DB2數據庫。我在.NET中的數據庫映射日期時遇到了問題。CAST無效(OLEDB日期)

在我的業務對象我定義了一個private DateTime _genftmdpdate=DateTime.MinValue; 但每當我從獲取數據庫中的日期和填充我變量中,我得到指定的轉換無效錯誤

myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE")) 

請幫助我,因爲我不希望將日期始終轉換爲字符串。

編輯 ---這將無法正常工作,以及myftModInstall.genFtMDPDate = Convert.ToDateTime(myRecord.GetType((System.Data.OleDb.OleDbType.Date)(myRecord.GetOrdinal("GENFTMDPDATE"))));

回答

0

請確保您試圖檢索值之前檢查空。

if(!myRecord.IsDBNull(myRecord.GetOrdinal("GENFTMDPDATE")) 
    myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE")); 
+0

你好我已經做到了完全一樣。它不能解決問題。問題在於從數據庫'myRecord.GetDateTime'獲取日期,如果我將其更改爲myRecord.GetString,它可以工作,但是我必須對日期事物進行整體轉換。 – 2010-08-18 06:38:21

+0

什麼是數據庫列的SQL數據類型? – 2010-08-18 06:50:02

+0

在數據庫中它是DATE類型的。但我無法設法將它作爲myrecord.GetDate的日期讀取。 GetString只能使用。 – 2010-08-18 07:00:29