sql 2008 插入日期时间 数据库报错
sql2008数据库
语句是很简单的查询语句
SELECT count(*) AS NUMBER FROM Table1 WHERE EndTime <= '2012-12-19 12:48:10'
EndTime的类型是datetime
在sql里新建查询执行不会报错。
但是在c#\asp.net里执行,就会报下面的错误,这是sql2008的设置文件吗?
System.Exception ---> System.Data.SqlClient.SqlException: The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
------解决方案--------------------不会要把2月30号 插入数据库吧? 提示日期超出范围 。检查下吧
------解决方案--------------------你前端的数据类型应该和数据库的不一致锁导致的。
------解决方案--------------------整个语句就是上面的那句了,看语句好象都没什么问题。在程序里就会提示超出范围那个错误
------解决方案--------------------试试:endtime<= CONVERT(DATETIME,'2012-12-19 12:48:10')
------解决方案--------------------用楼上的那样写法也是报错
------解决方案--------------------你select * 看看表中那个查询的字段都是时间类型的么?
------解决方案--------------------可能是表中已存在的数据造成的
------解决方案--------------------表中已存在的错误的时间格式的数据造成的。
------解决方案--------------------那证明你前端程序转换出问题了
------解决方案--------------------插入数据之前先判断数据是不是合法的时间。