Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо