无法使此查询与 Dataview.RowFilter 一起使用(来自 SQL 服务器 CE 的数据)

Can't get this query to work with Dataview.RowFilter (data from SQL Server CE)

我正在尝试 运行 使用 DataView.RowFilter 查询数据视图并尝试获取:

First name (string) last name (string) Checked (bit)

并将它们显示在数据网格视图中。我没有任何问题可以查询所有 people/all 个已检查 people/all 个未检查的人,我得到了有效的结果。 例如,对于已检查的人,我这样做:

dv.RowFilter = "Checked = 1"; 

我还进行了搜索(文本框),从中键入一个值并获得更新的数据视图,该数据视图也更新了数据网格视图。

所以我可以让它工作:

dv.RowFilter = "FirstName like '%" + textBox1.Text + "%'" + "OR LastName like '%" + textBox1.Text + "%'";

所以我的问题是我无法让下面的查询工作,它结合了上面的最后一个查询,但我只希望获得检查它们的行:

dv.RowFilter = "FirstName like '%" + textBox1.Text + "%'" + "OR LastName like '%" + textBox1.Text + "%'" + "WHERE Checked = 1";

这也不行:

dv.RowFilter = "Checked = 1 AND FirstName like '%" + textBox1.Text + "%'" + " OR LastName like '%" + textBox1.Text + "%'";

我已经尝试了很多东西并搜索了如何组合 AND 和 OR 但没有给我任何结果。 'Checked' 总是有问题。有时调试器会说:"Missing operand after 'Checked' operator." 我试图修复它但不能,数据来源来自 SQL Server CE(仅提及)。

在此先感谢您的帮助!

试试这个:

dv.RowFilter = "(FirstName like '%" + 
                 textBox1.Text + "%'" + " OR LastName like '%" + 
                 textBox1.Text + "%') AND Checked = 1";

没有括号它默认为:

"FirstName like '%" + 
 textBox1.Text + "%'" + " OR (LastName like '%" + 
 textBox1.Text + "%' AND Checked = 1)";