DateTime dt = new DateTime(); //这样会变 0001/01/01
DateTime dt = DateTime.Now.String(); //这样才会变系统日期
不然从前端用 Validator 控制,
或用 SQL Server 2008 新的 DateTime2 类型 (可向前相容至 0001 年)。
加个断点调试下看看。
在程序里面定义了一个时间类型的变量,没有给赋值,就传给数据库。这时这个变量的值默认是赋成了01年01月01日。由于在数据库中DateTime类型字段,最小值1/1/1753 12:00:00,而.NET Framework中,DateTime类型,最小值为1/1/0001 0:00:00,显然,超出了Sql的值的最小范围,导致数据溢出的错误。
数据没有正确的获取,调试查下出现的值。