仅是调试过程中错误,经过查找记录于此。
错误:
“SqlDateTime溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间。”
原因:
关于DateTime,在将DateTime类型,插入到数据库的时候,最容易出现的一种错误:“SqlDateTime溢出。必须介于 1/1/1753
12:00:00 AM和 12/31/9999 11:59:59 PM之间”原因是我们在取DateTime.MinValue的值,并插入到数据库的时
候,DateTime.MinValue值范围和数据库DateTime类型数据范围不一致造成的。数据库中,DateTime类型字段,最小值1/1/1753
12:00:00,而.NET Framework中,DateTime类型,最小值为1/1/0001 0:00:00,显然,超出了Sql的值的最小范围,导致数据溢出的错误。
解决方法:
NUMBER ONE:
使用System.Data.SqlTypes.SqlDateTime.MinValue替代System.DateTime类型,这样SqlDateTime的MinValue和Sql中DateTime的范围吻合,就不会再出现以上的错误了。
NUMBER TWO:
在机房收费系统中,我们多半是在为学生上机记录或是老师上机记录中,在登录的同时要写入到我们的教师工作记录或是学生上机记录中,但是我们的
下机时间在最开始赋值的时候是不存在的。系统会自动的为该字段赋初值为0001年01月01日造成datetime类型溢出。
我们可以为实体赋默认的初值1688-6-8 再在下机的时候自动的去更新就行了。