在.NET WinForms应用程序中实现可选查询参数的标准方法是什么?
换句话说,如果相应控件的值不为null,则仅查询字段。
注意:首选VB.NET答案(C#也可以)
编辑:我使用FillBy方法调用Access数据库中的查询。在TableAdapter查询编辑器中,我刚刚使用WHERE (field1 = ?) AND (field2 = ?) ...
我找不到“钩子”将表单控件绑定到表适配器查询参数,以便如果表单使用默认值不查询它。
答案 0 :(得分:2)
My Access语法生锈,因此您可能需要对其进行调整,但您可以尝试这样的操作:
WHERE (@Field1 IS NOT NULL AND Field1 = @Field1) AND (@Field2 IS NOT NULL AND Field2 = @Field2)
答案 1 :(得分:1)
您可以多次应用LINQ Where
子句
如果您正在使用DataSet
,则可以调用AsEnumerable
(自.NET 3.5起可用)对其执行LINQ查询。