select count(*) from FRP_Bill
where TimeSent >= '2010-8-7 00:00:00.000' and TimeSent <'2010-9-8 00:00:00.000'
在sql里面可以运行,用参数将时间或者时间字符串传入也可以,
但是直接用字符串连接然后再ExcuteNonQuery的时候便报异常:
从字符串向 datetime 转换时失败。 strWhere+= " TimeSent >= '" + searchModel.StrDateTimeBegin + "' and TimeSent <'" + searchModel.StrDateTimeEnd1 + "' " ...;连接后产生的sql字符串便是上面贴出来的 请问这是什么原因?
sqlServer2005里面的查询分析器直接执行的sql语句 和 C#内传给SQLServer执行的sql语句两者的区别在何处呢?
为什么传参数又不会出错?
command.Parameters["@seldate"].Value =searchModel.StrDateTimeBegin;
TimeSent >= @TimeSent
========
strWhere+= " TimeSent >= '" + searchModel.StrDateTimeBegin.ToString("yyyy-MM-dd HH:mm:ss:fff") + "' and TimeSent <'" + searchModel.StrDateTimeEnd1.ToString("yyyy-MM-dd HH:mm:ss:fff") + "' " ...;
2 3 L的方法都不行1L的 参数是可以用,我也知道 ,不过还是谢谢。
异常的sql语句直接复制到sqlserver中却能执行 ,这是为什么呢?