我在添加操作时  老是SqlDateTime 溢出  我用的是dateTimePicker 哪位大侠可以帮我  在线等

解决方案 »

  1.   

    用 dateTimePicker.Value.ToShortDateString()
      

  2.   

    必须介于 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之间
    2009年10月10日 星期六 17:11错误提示:“SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间。”
    出现场景:用ASP.NET制作某商业网站的注册功能时,调用写好的存储过程出错原因:传给数据库(在这里我是传给存储过程)的时间类型的值为NULL这 里的NULL指的是程序代码里面的null,大多数出现这种情况的情景是:在程序里面定义了一个时间类型的变量,没有给赋值,就传给数据库(或存储过程 了)。这时这个变量的值默认是赋成了01年01月01日。由于在数据库中DateTime类型字段,最小值1/1/1753 12:00:00,而.NET Framework中,DateTime类型,最小值为1/1/0001 0:00:00,显然,超出了Sql的值的最小范围,导致数据溢出的错误。这种错误还容易发现,更恶心的是我遇到的情况:我 是用sqlParameter传给存储过程需要的值,然后存储过程用insert语句等实现注册功能。有一些数据是不需要代码给传值的(如用sql里面的 getdate可以获取当前时间,再如固定的值)。但我的代码里面定义了所有的sqlparameter,多出来的sqlparameter虽然在数据库 中没有参数接受,但如果传进来一个有问题的datetime类型,同样会报错。
      

  3.   

    数据类型  范围  精确度  
    datetime
     1753 年 1 月 1 日到 9999 年 12 月 31 日
     3.33 毫秒
     
    smalldatetime
     1900 年 1 月 1 日到 2079 年 6 月 6 日
     1 分钟
     
      

  4.   

    因为你插入或者更新数据库时datetime字段值为空默认插入0001年01月01日造成datetime类型溢出。