关于 SqlDateTime 溢出

大家好,我是阿牛曾,IT人员一枚

第一次写博客,原因是动手解决了一个小Bug,虽然很小不过很有纪念意义,哈哈

出现错误:

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

原因分析:

查阅了一些资料,原来在数据库中DateTime类型的字段最小值为1/1/1753 12:00:00,而.NET Framework框架中,DateTime类型的最小值为1/1/0001
0:00:00,超出了Sql的值的最小范围,导致在数据插入的时候发生溢出的错误。

<span style="font-family:Microsoft YaHei;">if (model.createdate == null)
            {
                h.AddParameter("@createdate", DBNull.Value);
            }
            else
            {
                h.AddParameter("@createdate",model.createdate);
            }</span>

解决方法:

我用的方法是先将时间类型转换成DateTime类型,这样问题就解决啦

<span style="font-family:Microsoft YaHei;">if (model.createdate == null)
            {
                h.AddParameter("@createdate", DBNull.Value);
            }
            else
            {
                DateTime dt = DateTime.Now;
                h.AddParameter("@createdate", dt);
            }</span>
时间: 2024-12-31 02:41:28

关于 SqlDateTime 溢出的相关文章

SqlDateTime溢出类错误解决

错误: "SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间." 出现这种问题多半是因为你插入或者更新数据库时datetime字段值为空默认插入0001年01月01日造成datetime类型溢出. 原因: 关于DateTime,在将DateTime类型,插入到数据库的时候,最容易出现的一种错误:"SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 AM 和 12/31/

SqlDateTime 溢出

问题描述 我在添加操作时老是SqlDateTime溢出我用的是dateTimePicker哪位大侠可以帮我在线等 解决方案 解决方案二:你肯定是没有给那个字段赋值解决方案三:就是...解决方案四:也许楼上两位高手的解释是正确的,就是没有什么合理的说明!期待正解的出现.解决方案五:输入错误了吧SQL里面的时间必须介于1/1/175312:00:00AM和12/31/9999之间解决方案六:空字符串无法转换为datetime解决方案七:@lz:支持5楼高手的正解,可能是由于SqlDataTime支持

SqlDateTime溢出该怎么解决_MsSql

错误出现:导入数据时出现"SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间." 出现这种问题多半是因为你插入或者更新数据库时datetime字段值为空默认插入0001年01月01日造成datetime类型溢出. 原因分析: 关于DateTime,在将DateTime类型,插入到数据库的时候,最容易出现的一种错误:"SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 A

SqlDateTime溢出该怎么解决

错误出现:导入数据时出现"SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间." 出现这种问题多半是因为你插入或者更新数据库时datetime字段值为空默认插入0001年01月01日造成datetime类型溢出. 原因分析: 关于DateTime,在将DateTime类型,插入到数据库的时候,最容易出现的一种错误:"SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 A

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

大多数情况是说起来sql语句里的时间字段的赋值为空. 跟踪一下参数,查看是否赋值.   由于在数据库中DateTime类型字段,最小值1/1/1753 12:00:00,而.NET Framework中,DateTime类型,最小值为1/1/0001 0:00:00,显然,超出了Sql的值的最小范围,导致数据溢出的错误.   本文参考:http://blog.csdn.net/aspnet2002web/article/details/6063812

C#中对于溢出的处理

大家知道,计算机进行数学计算时,往往会出现计算结果超出这个结果所属类型的值域的情况,这种现象我们称为溢出. C#中,对于溢出的处理有两种选择: (1).你可以通过调整编译器的选项来检测整个程序. (2).你可以声明可能发生溢出的模块,进行局部检测. 如果你选择第一种方案,即打算在整个程序中控制溢出检测,可以选中C#编译器设置面板中的Checked选项(checked+). 如果不希望溢出检测作用于整个程序,我们可以使用局部检测的方案.利用检测语句可以很容易做到.checked和unchecked

c# datetime溢出问题

问题描述 在写一个ASP.NET数据库应用程序,操作数据库的时候遇到问题sqlserver表名"WZinfo"字段结构:wzbhvarchar50文章编号zwnrvarchar50正文内容lrrqdatetime录入日期asp.net采用三层结构DAL数据操作BLL业务层MODEL业务数据模型应用具体如下MODELMODEL_WZXX.csprivatestring_wzbh;privatestring_zwnr;privateDatetime_lrrq;publicstringwzb

VS2005(c#)项目调试问题解决方案集锦

解决|问题|项目 1.检测到有潜在危险的 Request.Form 值 原因: (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置 (2)HTML里面写了两个 引起 解决: 方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false" %> 方案二: 修改web.config文件: <configuration>  <system.web>   <p

DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)

前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语.考驾照.到健身房请私教,远离了一下代码的世界,现在又回归了. 最近上班了,新的公司需要招.NET系.产品经理,有兴趣的可以左侧扣我(我部门要人,地点广州). 另外:阿里最近收购了一家公司,也需要Java系的高手和测试人员,有兴起的也可以扣我(我朋友的部门要人,地点广州). 嗯,闲话少说,看看工具的