无法使此查询与 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)";
我正在尝试 运行 使用 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)";