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

来源:互联网 发布:淘宝联盟优惠券佣金 编辑:程序博客网 时间:2024/06/05 19:33

公司项目在用一个框架,封装了数据库的常用操作,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类型的变量会出现错误

我们可以使用Convert.ToDateTime来进行转换。

DateTime deleteDate=Convert.ToDateTime(System.Data.SqlTypes.SqlDateTime.MinValue.ToString())



0 0
原创粉丝点击