【问题标题】:VB.Net DataTable.Select returning invalid rows?VB.Net DataTable.Select 返回无效行?
【发布时间】:2018-02-19 17:26:41
【问题描述】:

我正在从 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,状态为未知、有效或无效。

不幸的是,不符合这些标准的记录也会被选中(例如:速度

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

【问题讨论】:

    标签: .net vb.net select filter datatable


    【解决方案1】:

    你必须使用括号:

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

    【讨论】:

    • 是的,行得通。我会在 7 分钟内将其标记为答案,谢谢。不错的图标顺便说一句。
    猜你喜欢
    • 1970-01-01
    • 2012-08-30
    • 2010-11-11
    • 2012-08-08
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    相关资源
    最近更新 更多