【问题标题】:Building a valid SQL Query with optional parameters for search function使用搜索功能的可选参数构建有效的 SQL 查询
【发布时间】:2011-10-20 18:17:17
【问题描述】:

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

我们有多个 DropDownList,我们正在构建一个搜索查询,其中包含在这些 DDL 中选择的任何内容。我的问题是,如何使用 SQL Query 处理空白值(未选择的下拉列表值)?我在查询中使用 AND 运算符,因此如果任何内容为空白,则搜索将失败。如果下拉列表没有选定的值,我不希望该值成为搜索的一部分。只需 2-3 个参数就可以很容易地进行编码,但是我们正在查看至少 10 个项目,并且执行 SWITCH CASE 或多个 IF 很快就会变得混乱。

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

感谢您的帮助 祝大家有美好的一天。

【问题讨论】:

  • 您是在 VB.NET 的字符串中动态构建 SQL WHERE 子句还是将参数传递给存储过程?

标签: asp.net sql vb.net search


【解决方案1】:

我猜你可以在存储过程中将参数默认为 NULL 并执行类似的操作

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    • 2010-09-24
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多