文章出處
文章列表
原因:
出現這種問題多半是因為你插入或者更新數據庫時,datetime字段值為空默認插入0001年01月01日造成datetime類型溢出。
傳給數據庫表的時間類型值是null值。這里的null指的是程序代碼中的null,多數出現這種情況的場景是:在程序里面定義了一個時間類型的變量,沒有給賦值,就傳給數據庫,這時這個變量的值默認是賦成了01年01月01日;由于數據庫中DateTime類型字段,最小值是1/1/1753 12:00:00,而.NET Framework中,DateTime類型,最小值是1/1/0001 0:00:00,顯然,超出了sql的值的最小值范圍,導致數據溢出錯誤。
.NET Framework框架與數據庫 時間類型最小值不同,從.NET Framework框架向數據庫傳時間類型的值會出錯。
解決方法:
使用System.Data.SqlTypes.SqlDateTime.MinValue替代System.DateTime類型,這樣SqlDateTime的MinValue和Sql中DateTime的范圍吻合,就不會再出現以上的錯誤了。
如果日期在文本框中不填寫,則給其賦一個最小值
原文:http://blog.csdn.net/mazhaojuan/article/details/8194253
文章列表
全站熱搜