Найдено 2 результата

Andries
Вс 28 июл 2013 11:06
Форум: SQL Server Data Access Components
Тема: Параметры в SqlCommand
Ответы: 3
Просмотры: 5692

Re: Параметры в SqlCommand

Спасибо за ответ, с like всё понятно. У меня остался первый вопрос: как быть с динамическими параметрами в запросе? Т.е. нужно получить одинаковую выборку, но по разным критериям фильтра в зависимости от информации, которую введёт пользователь.
Может быть к примеру такой запрос:

Код: Выделить всё

SELECT * FROM People WHERE PersonID = 10
Или такой запрос:

Код: Выделить всё

SELECT * FROM People WHERE FirstName LIKE 'ив%'
Возможно ли такое реализовать? Если описать все возможные параметры, а инициализировать только необходимые возникает ошибка.
Спасибо!
Andries
Вт 23 июл 2013 11:30
Форум: SQL Server Data Access Components
Тема: Параметры в SqlCommand
Ответы: 3
Просмотры: 5692

Параметры в SqlCommand

Добрый день,
пытаюсь использовать SqlDataTable в dotConnect, возник вопрос: необходимо отфильтровать результирующую выборку людей по различным возможным критериям. Т.е. может быть по ID записи, а может быть по ФИО в зависимости от того, что введёт пользователь. Таким образом условие WHERE меняется динамически. Как это лучше сделать? Описать все возможные параметры и инициализировать необходимые не получается. Кроме того, не работает конструкция типа SELECT * FROM Table WHERE LastName LIKE '%@Param%'
Буду благодарен за пример кода.
Спасибо!

P.S. Мой примерный код следующего вида:

Код: Выделить всё

SqlCommand mySqlCommand1;
...
mySqlCommand1.CommandText = "SELECT * FROM People WHERE PeopleID = @PeopleID AND LastName LIKE '%@LastName%' AND FirstName LIKE '%@FirstName%'";
mySqlCommand1.Parameters.Add("@PeopleID", 20);
или
mySqlCommand1.Parameters.Add("@LastName", "иван");
mySqlCommand1.Parameters.Add("@FirstName", "андр");