代码之家  ›  专栏  ›  技术社区  ›  jim

C#DataTable.Select()-如何设置筛选条件的格式?

  •  2
  • jim  · 技术社区  · 16 年前

    这不管用

    DataRow[] mySelectedRows = myDataTable.Select("processed <> True");
    

    myDataTable有一行名为processed。我想在此表中选择processed不等于True的行。有人能帮忙吗?

    2 回复  |  直到 16 年前
        1
  •  8
  •   Murph    16 年前

    处理的是布尔还是字符串?

    如果布尔值为“已处理<>‘True’”,则“未处理”应起作用,否则,使用单引号作为where字符串内的分隔符。在查询数据时,检查表/列中的值是值得的,以确保您的测试是正确的(这在过去一直困扰着我)。

        2
  •  5
  •   Jeff Sternal    16 年前

    这应该可以正常工作,但它不会返回 processed null .

    要包含空值,请尝试以下操作:

    DataRow[] rows = myDataTable.Select("isnull(processed, false) <> true"); 
    

    true ,但事实并非如此 不相上下 对。(见 Null (SQL) .)

    有关常规过滤器表达式参考,请参见 the DataColumn.Expression MSDN topic .