Создание корректного SQL-запроса с необязательными параметрами для функции поиска - PullRequest
0 голосов
/ 20 октября 2011

У меня есть функция поиска де билд.Мы используем чистый ASP.NET с \ VB.NET

. У нас есть несколько DropDownLists, и мы создаем поисковый запрос с тем, что было выбрано в этих DDL.У меня вопрос, как я могу обрабатывать пустые значения (невыбранные значения выпадающего списка) с помощью SQL-запроса?Я использую операторы AND в запросе, поэтому, если что-то будет пустым, поиск будет неудачным.Если в раскрывающемся списке нет выбранного значения, я не хочу, чтобы это значение было частью поиска.Было бы легко кодировать только с 2-3 параметрами, но мы просматриваем как минимум 10 пунктов, и выполнение SWITCH CASE или нескольких IF скоро станет бесполезным.

Я уверен, что есть более простое решение.

Спасибо за помощь. Хорошего дня, ребята.

1 Ответ

3 голосов
/ 21 октября 2011

Полагаю, вы могли бы по умолчанию задать параметры NULL в sproc и сделать что-то вроде

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

и т.д.

Таким образом, если вы передадите NULL, эта конкретная проверка будет истинной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...