【发布时间】:2023-03-21 15:29:01
【问题描述】:
您可以使用 BindingSource 的 Filter 属性来执行类似 SQL 的过滤。 例如:
bindingSource.Filter= "Activated = 1"
有没有关于这个确切语法的文档?
我想检查一个字段是否不是 DBNull,所以我尝试了“Field != NULL”,但它给出了语法错误。
【问题讨论】:
标签: c# .net filter bindingsource
您可以使用 BindingSource 的 Filter 属性来执行类似 SQL 的过滤。 例如:
bindingSource.Filter= "Activated = 1"
有没有关于这个确切语法的文档?
我想检查一个字段是否不是 DBNull,所以我尝试了“Field != NULL”,但它给出了语法错误。
【问题讨论】:
标签: c# .net filter bindingsource
语法通常与您在 SQL Where 子句中使用的语法相同,但没有“Where”,因此在这种情况下,它将是
bindingSource.Filter = "Field <> NULL";
如果您查看 BindingSource.Filter 的 msdn 文档,您会看到:
"要形成过滤器值,请指定列名,后跟运算符和要过滤的值。接受的过滤器语法取决于基础数据源。如果基础数据源是 DataSet、DataTable 或DataView,您可以指定布尔表达式使用为DataColumn..::.Expression 属性记录的语法。"
点击该链接查看所有详细规则
【讨论】:
看看this msdn article。所描述的语法也应该对您的BindingSource 有效。
【讨论】:
对我有用的是
bindingSource.Filter = "columnName Is Null";
反之亦然
bindingSource.Filter = "columnName Is Not Null";
【讨论】: