按日期过滤时缺少操作数

时间:2014-01-22 03:30:17

标签: c#

DateTime fromDate = dateTimePicker1.Value, toDate = dateTimePicker2.Value;
BindingSource bs = new BindingSource();
bs.DataSource = dataGridView1.DataSource;
bs.Filter = "DatePurchased >= '" + fromDate.ToShortDateString() + "' AND DatePurchased '" + toDate.ToShortDateString() + "'";
dataGridView1.DataSource = bs;

我不知道如何解决这个问题,请帮助任何人我的错误

SyntaxErrorException未处理

语法错误:'' 1/20 / 2014''''''操作

2 个答案:

答案 0 :(得分:2)

AND语句之后,您在过滤器的第二部分中缺少操作数。

更改过滤器。

"DatePurchased >= '" + fromDate.ToShortDateString() + "' AND DatePurchased '" + toDate.ToShortDateString() + "'"

"DatePurchased >= '" + fromDate.ToShortDateString() + "' AND DatePurchased <= '" + toDate.ToShortDateString() + "'"

请注意,我在第二个<=字段后添加了DatePurchased操作数。

使用<=作为您之前的陈述是一种猜测。这可能不是正确的操作员。

答案 1 :(得分:0)

你在哪里

"' AND DatePurchased '"
你应该

"' AND DatePurchased < '"

所以,它看起来像这样:

bs.Filter = "DatePurchased >= '" + fromDate.ToShortDateString() + "' AND DatePurchased < '" + toDate.ToShortDateString() + "'";

“&gt; =,&lt;”假设toDate = fromDate + span + 1,使用语法。 “&LT;”或“&gt;”始终优于“&gt; =”或“&lt; =”

相关问题