C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Параметры в IBQuery, Как вывести все записи если Param=""?
Tors
Отправлено: 28.01.2004, 15:04


Ученик-кочегар

Группа: Участник
Сообщений: 15



Есть такой запрос:

select * from tbl
where Card=:PCard and Date=:PDate;

Как вывести все записи если PCard=""?
Или как вывести запись с Card="123p4", а PDate=NULL?

Я использую в запросе фильтрацию с несколькими параметрами,
и если, например, PCard="", то не выводится ни одна запись, а мне надо, чтобы в этом случае выводились все.
Admin
Отправлено: 28.01.2004, 18:37


Владимир

Группа: Администратор
Сообщений: 1190



Измените динамически сам запрос.
Если PCard="" то и запрос посылайте без условия PCard:
where Date = :PDate, быстрее будет и отбирать

или можете изменить запрос на типа
where Card like :PCard and Date = :PDate
и если PCard="", то измените его на PCard = "%"


для второго случая запрос будет
where Card="123p4" and Date is NULL



Вернуться в Работа с базами данных в C++Builder