我正在尝试使用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(仅提及)。
提前感谢您的帮助!
答案 0 :(得分:1)
试试这个:
"FirstName like '%" +
textBox1.Text + "%'" + " OR (LastName like '%" +
textBox1.Text + "%' AND Checked = 1)";
没有括号,默认为:
left: -400%