我将开发基于c表单的桌面应用程序,其中我正在开发一个搜索模块。搜索条件是,如果该字段为空,则保留该字段;如果两个或两个以上的字段已填充,则搜索结果将显示“按”和“所有”字段。我无法对此进行查询。请帮帮我
当做

最佳答案

这里的一个典型方法是:

var query = new StringBuilder();
query.Append("select ... From ... Where 1=1");
if(fooHasValue) {
    query.Append(" and Foo = @foo");
    cmd.Parameters.AddWithValue("foo", foo);
}
if(barHasValue) {
    query.Append(" and Bar = @bar");
    cmd.Parameters.AddWithValue("bar", bar);
}
cmd.CommandText = query.ToString();

或者类似的东西。
我使用LINQ;
IQueryable<Whatever> query = ctx.TheTable;
if(fooHasValue)
    query = query.Where(x => x.Foo == foo);
if(barHasValue)
    query = query.Where(x => x.Bar == bar);
foreach(var row in query) {...}

关于c# - 多字段搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8687923/

10-10 17:27
查看更多