VB.Net DataTable.Select返回无效行?

时间:2017-09-11 12:51:01

标签: .net vb.net select filter datatable

我正在从DataTable中选择记录,如下所示:

Dim foundRows() as DataRow = dt.Select("country = 'United States' AND speed = 0 OR speed >= 1000 AND speed <= 2000 AND status = 'Unknown' OR status = 'Valid' OR status = 'Invalid'")

如您所见,我想从美国选择记录,其速度为0或1000-2000,状态为“未知”,“有效”或“无效”。

还选择了不符合这些标准的不幸记录(例如:速度<1000的记录,其他国家/地区)

我的过滤器表达式有什么问题?我尝试在速度条件下添加括号,但也许我需要更多?

1 个答案:

答案 0 :(得分:1)

您必须使用括号:

country = 'United States' AND 
(speed = 0 OR (speed >= 1000 AND speed <= 2000)) AND 
(status = 'Unknown' OR status = 'Valid' OR status = 'Invalid')