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

时间:2015-07-06 23:04:49

标签: sql sql-server-ce dataview

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

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

并在datagridview中显示它们。查询所有人/所有已检查人员/所有未经检查的人员,我没有任何问题,我得到了有效的结果。 对于被检查的人,例如我做:

dv.RowFilter = "Checked = 1"; 

我还进行了搜索(文本框),我从中搜索一个值并获取更新的数据视图,该数据视图也会更新datagridview。

所以我可以让这个工作:

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'总是存在问题。有时调试器会说:“'Checked'运算符后缺少操作数。”我试图解决它,但不能,数据来自SQL Server CE(仅提及)。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

试试这个:

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

没有括号,默认为:

left: -400%