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

时间:2021-11-13 11:39:40

出现的错误:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。

错误的原因:.NET Framework datetime类型跟MSSQL中的datetime数据类型不一致而造成的

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

System.DateTime 结构在 MSDN上的解释:

SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。
DateTime (Transact-SQL)在MSDN上的范围说明:

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

因此当数据库中的字段为DateTime时且主要是通过.Net代码来进行赋值时,可以使用System.Data.SqlTypes.MinValue和
System.Data.SqlTypes.MaxValue来对代码中的DateTime值进行判断并做相应的异常处理来解决此问题


参考:
        MSDN DateTime 结构