SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59
| 錯誤提示:“SqlDateTime 溢出。必須介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之間。” 原因: 傳給數據庫(在這里我是傳給存儲過程)的時間類型的值為NULL 這里的NULL指的是程序代碼里面的null,大多數出現這種情況的情景是:在程序里面定義了一個時間類型的變量,沒有給賦值,就傳給數據庫(或存儲過程了)。這時這個變量的值默認是賦成了01年01月01日。由于在數據庫中DateTime類型字段,最小值1/1/1753 12:00:00,而.NET Framework中,DateTime類型,最小值為1/1/0001 0:00:00,顯然,超出了Sql的值的最小范圍,導致數據溢出的錯誤。 這種錯誤還容易發現,更惡心的是我遇到的情況: 我是用sqlParameter傳給存儲過程需要的值,然后存儲過程用insert語句等實現注冊功能。有一些數據是不需要代碼給傳值的(如用sql里面的getdate可以獲取當前時間,再如固定的值)。但我的代碼里面定義了所有的sqlparameter,多出來的sqlparameter雖然在數據庫中沒有參數接受,但如果傳進來一個有問題的datetime類型,同樣會報錯。 |
總結
以上是生活随笔為你收集整理的SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发之旅:应用程序基础及组
- 下一篇: 葫芦侧枝不坐果又不长怎么办‘葫?