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

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

Параметрический запрос. [D7, IB6.x]


Woprosnik ©   (2005-06-03 12:54:00) 

У меня есть запрос следующего вида:

SELECT * FROM V_TECHN
WHERE TIP = :TIP

В программе в зависимости от выбранного пункта меню передается параметр. Но кроме прочих пунктов есть такой: "Показать все записи". Какой параметр я должен передать, чтобы в клиентскую машину вывелись все записи из таблицы? Или это только через динамическое вормирвоание запроса возможно?


Sergey13   (2005-06-03 14:17:00) [1]

2[8] Val ©   (03.06.05 14:08)
Я писАл, что вроде в твоем (TIP = :TIP and :TIP is not null) выделенное не обязательно. Хотя я могу ошибаться - башка совершенно не тем сейчас занята.
Вообще все это фигня. Надо это автору - сам додумает.


Val   (2005-06-03 14:08:00) [2]

>[4] Sergey13 ©   (03.06.05 13:38)
так второй же операнд OR (:TIP is null) вернет true в итоге - true :)


Sergey13   (2005-06-03 13:51:00) [3]

Можно, кстати не NULL давать параметру а просто гарантировано несуществующее значение, например отрицательное.


Anatoly Podgoretsky   (2005-06-03 13:45:00) [4]

Что такое TIP ?


sniknik   (2005-06-03 13:39:00) [5]

лучше наверное динамически формировать запрос с и без параметра. не знаю в IB, а MSSQL встречалось, такая вот лишняя проверка замедляла запрос, ненамного но всетаки.


Sergey13   (2005-06-03 13:38:00) [6]

2[3] Val ©   (03.06.05 13:33)
Дык вроде TIP = :TIP при :TIP is null один фиг ЛОЖЬ вернет. Не так?


Val   (2005-06-03 13:33:00) [7]

>[2] Sergey13 ©   (03.06.05 13:21)
м.б.
WHERE (TIP = :TIP and :TIP is not null) OR (:TIP is null)?


Sergey13   (2005-06-03 13:21:00) [8]

Можно наверное даже так (в Оракле проходит)
WHERE (TIP = :TIP) OR (:TIP is null)


Johnmen   (2005-06-03 12:58:00) [9]

WHERE (TIP = :TIP) OR (1=:YourIntFlagParam)


Наверх

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