日期:2014-05-17  浏览次数:20988 次

datediff(M,日期时间,'2013/1/16') = 0 使用
select * from Sheet where 姓名='焦鹏飞' and datediff(M,日期时间,'2013/4/22') = 0


我VS SQL Sever 中使用上述 查询语句 执行成功,但是我在C#中提示:


在将 nvarchar 值 'datediff(M,日期时间,'2013/4/22') = 0' 转换成数据类型 int 时失败。


请问这为啥?那里错了?

------解决方案--------------------
蛋疼的...代码
wherelist.Add("@Date=0");  <-参数应该为 int
sqlparams.Add(new SqlParameter("@Date","datediff(M,日期时间," +"'"+dt.ToShortDateString()+"'"+ ") 
= 0")); <- 实际参数是 varchar 
当然报错..
老老实实拼sql语句吧
别乱用