我的查询中的WHERE子句类似于
WHERE (FORMAT([salesdate], "yyyy") = @year;
然后我添加了参数@year,如下所示:
myCommand.Parameters.Add(new OleDbParameter("@year", (year)));
它应根据所选年份过滤具有销售日期的记录。但它什么也没有回报。我确信我的变量年份是正确的。我也确定Parameter.Add位于正确的位置。
我也在MS Access上尝试了相同的查询,并为参数输入了值,然后就可以了。
我做错了什么?
答案 0 :(得分:1)
请改为尝试:
WHERE DATEPART(YEAR, [salesdate]) = @year;
添加参数的方法有所不同,您可以尝试与DATEPART结合使用:
myCommand.Parameters.Add("@year", OleDbType.Integer).Value = year;