Я использую SqlDataSource в очень простом приложении. Я разрешаю пользователю устанавливать несколько параметров поиска для команды выбора SDS с помощью текстовых полей, по одному текстовому полю на параметр (думаю, txtFirstName, txtLastName и т. д.). Я планирую использовать обработчик события нажатия кнопки, чтобы установить свойство SelectCommand SqlDataSource, которое по умолчанию будет возвращать все записи (для моих целей здесь). Я хочу уточнить эту команду выбора, чтобы, возможно, добавить одно или несколько предложений WHERE в зависимости от того, вводит ли пользователь критерии поиска в любом из моих текстовых полей.
Пример, если я не понимаю:
По умолчанию свойство SelectCommand моего SqlDataSource будет выглядеть примерно так:
SELECT * FROM MyTable
Если пользователь вводит «Боб» в txtFirstName, я хочу, чтобы свойство SelectCommand выглядело так:
SELECT * FROM MyTable WHERE [FirstName]='Bob'
Если пользователь вводит «Джонс» в txtLastName, я хочу, чтобы свойство SelectCommand выглядело так:
SELECT * FROM MyTable WHERE [FirstName]='Bob' AND [LastName]='Jones'
Мой вопрос:
Есть ли способ динамически создавать эти предложения WHERE без проверки наличия пустых текстовых полей и создания предложения WHERE вручную?
Мое маленькое приложение имеет только три параметра, поэтому грубое форсирование моего пути не будет болезненным, но я задавался вопросом, есть ли более простой способ сделать это, плюс, возможно, мне нужно будет добавить больше параметров в будущем. Кроме того, я, возможно, захочу добавить поиск по подстановочным знакам.