使用搜索功能的可选参数构建有效的SQL查询

时间:2011-10-20 18:17:18

标签: asp.net sql vb.net search

我有一个搜索功能de build。 我们使用纯ASP.NET w \ VB.NET

我们有多个DropDownLists,我们正在使用这些DDL中选择的任何内容构建搜索查询。我的问题是,如何使用SQL Query处理空白值(未选择的下拉列表值)?我在查询中使用AND运算符,所以如果有任何空白,它将无法搜索。如果下拉列表没有选定值,我不希望该值成为搜索的一部分。用2-3个参数编码很容易,但是我们通过至少10个项目进行编码,并且做一个SWITCH CASE或多个IF很快就会变成混乱。

我确信那里有一个更简单的解决方案。

感谢您的帮助 祝大家好不好。

1 个答案:

答案 0 :(得分:3)

我猜你可以在sproc中将参数默认为NULL并执行类似

的操作
...
Where 
(someField1 = @Param1 OR @Param1 IS NULL) AND
(someField2 = @Param2 OR @Param2 IS NULL) AND
(someField3 = @Param3 OR @Param3 IS NULL) ....

这样,如果传递NULL,则该特定检查将为真。