当前位置: 代码迷 >> 综合 >> 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之间的解决办法

热度:17   发布时间:2024-02-07 07:42:36.0
描述

公司项目在用一个框架,封装了数据库的常用操作,model.Insert() (model就是实体类)就可以往数据库插入数据,当实体类中由Datetime类型时,未被赋值,默认值是0001/1/1 0:00:00,而数据库中datetime类型支持的 范围是1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间插入数据的时候出现错误,

解决办法:

有时候DateTime类型的数据我们在插入之前不会赋值,比如deleteTime属性,常常是在做逻辑删除的时候才赋值

但不赋值保存数据时出错,我们可以将将DataeTime的值保存为数据库datetime类型支持的最小值,

可以用System.Data.SqlTypes.SqlDateTime.MinValue的值赋给System.DateTime类型,

SqlDateTime的MinValue和Sql中DateTime的范围吻合

System.Data.SqlTypes.SqlDateTime.MinValue 直接赋值给 System.DateTime类型的变量会出现错误

DateTime deleteDate=System.Data.SqlTypes.SqlDateTime.MinValue.Value
  相关解决方案