2013-12-12 43 views
0

我已經度過了艱難的一天,面對這個問題。在ent對象中,我有DiinputTanggal屬性爲Date。在數據庫中,我有DiinputTanggal列作爲DateTime。當我嘗試將ent對象插入數據庫時​​,出現以下屏幕截圖中顯示的以下錯誤。但是當我調試時,ent對象中的屬性DiinputTanggal看起來非常精細並且格式良好。我不知道我的錯誤在哪裏。ASP.NET中使用VB.NET的sqldate時間溢出

enter image description here

+0

請參閱[此文章](http://stackoverflow.com/questions/16065028/sqldatetime-overflow-when-inserting-value-with-datetime-now)。第二個答案與斯圖亞特在下面發佈的內容相符。我認爲你一直在看錯誤的日期時間字段。 –

回答

1

看你的截圖,它可能是TaggalAktif財產造成溢出。 .Net日期時間默認爲DateTime.MinValue,這不能用SQL DateTime表示。

您有幾種選擇

  • 初始化的DateTime到由SQL日期時間支持的值(由錯誤指示的範圍)
  • 更改DateTime是在類和數據庫都爲空,(並確保該屬性初始化爲空)。
  • 使用另一個Sql DataType來存儲數據,例如如果不需要時間,可以使用DateTime2Date
+0

其實,我並沒有給出'TanggalAktif'屬性的值,因爲'TanggalAktif'是可以爲空的列。我不明白爲什麼會發生這種情況。 – andrefadila

+0

除了可以在數據庫中爲空,您還需要製作類屬性'Nullable Of DateTime',或者使用自定義映射將'DateTime.MinValue'映射到'DBNull'。 – StuartLC

+0

是的,我聲明'TanggalAktif'屬性在我的模型中使用ActiveRecord是這樣的:'[[Property]()> Public Overridable Property TanggalAktif()As Date'這有什麼問題嗎?如果我評論這個屬性,我的代碼工作得很好 – andrefadila