![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос SQL [D7, XP]
Pushok © (2011-10-11 09:16:00)Есть следующий запрос:
Select * from Baza_Tovara
where kod_grup=:ID
...
По изменению параметра ID из базы отбирается товара соответствующий номеру группы. Можно ли организовать запрос так чтобы в некоторых случаях отбирались все наименования?
Как вариант знаю
ADOQuery.SQL.Clear;
ADOQuery.Close;
ADOQuery.SQL.Add('Select * from Baza_Tovara');
ADOQuery.Open;
Но хотелось бы работать только с параметрам, нигде не изменяя запрос. Потому как это повлияет и на дальнейшую работу и тогда придется постоянно переделывать запрос на случаи отсутствия параметров.
Pushok (2011-10-11 09:28:00) [1]
> Ega23 © (11.10.11 09:22) [1]
Вот вот.. спасибо помогло!
Ega23 (2011-10-11 09:26:00) [2]Пиши хранимку тогда, это проще всего.
Pushok (2011-10-11 09:24:00) [3]Наверно не понятно выразился
Примерно так
Если ID = 0 выбираем все из базы
если нет то только то что kod_grup = ID
PS В базе нет значений поля kod_grup равное 0
Ega23 (2011-10-11 09:22:00) [4]
Select * from Baza_Tovara
where 1=:AllRecords or kod_grup=:ID
ParamByName('AllRecords').Value := 1;// Отберёт все. 0 - отберёт те, что по :ID