解决:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间提示问题

Posted JiYF大男孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间提示问题相关的知识,希望对你有一定的参考价值。

提示信息如下

“/”应用程序中的服务器错误。


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的范围吻合,就不会再出现以上的错误了。

 

以上是关于解决:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间提示问题的主要内容,如果未能解决你的问题,请参考以下文章

SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间。”应该如何解决?

如何解决SqlDateTime 溢出

(转)SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间

c#sqldatetime 溢出怎么解决

如何在不使用IUserType的情况下查询数据库时防止NHibernate SqlDateTime溢出?

excel文件每次导入报错: sql datetime溢出,如何解决