提示信息如下
“/”應用程序中的服務器錯誤。
SqlDateTime 溢出。必須介於 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之間。
問題現象:
問題原因:
出現個問題的原因是:在更新或者添加數據,出現的錯誤,再給parameters傳遞值沒有對DateTime類型字段沒有傳遞值,默認為null
但是在sqlserver里面對DateTime類型取值范圍是:介於 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM
但是在而.NET Framework中,DateTime類型,最小值是1/1/0001 0:00:00 12/31/9999 11:59:59 PM
當在傳遞數據時候,沒有給DateTime類型賦值,默認為null即:1/1/0001 0:00:00 顯然不在SQLServer中Datetime類型的范圍之中,就產生溢出,導致此錯誤信息
代碼查找:
字段
數據添加
數據庫中的datetime類型字段:
解決辦法:
辦法1.再給datetime類型得變量賦值:不讓其等於null而且在區間於 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM這個之間
辦法2:使用System.Data.SqlTypes.SqlDateTime.MinValue替代System.DateTime類型,這樣SqlDateTime的MinValue和Sql中DateTime的范圍吻合,就不會再出現以上的錯誤了。