Текущий архив: 2003.02.06;
Скачать: CL | DM;
ВнизПараметр SQL запроса.... Найти похожие ветки
← →
cranium (2003-01-21 22:40) [0]Вот к примеру есть следующий запрос
FOR SELECT ID_GRUPENUM,
ID_PARENT,
GRUPENUM,
LONG_NAMENUM,
TYPE_DATE,
NOTE_ENUM
FROM GRENUMER
WHERE ID_PARENT=:ID_PAR
Как в услове запроса передать значение любой, тоесть получить все записи таблицы....
← →
Jeer (2003-01-21 23:02) [1]убрать where..
← →
cranium (2003-01-21 23:16) [2]Так это просто! А вот можно ли передать значение любой и не менять запрос...
← →
ЮЮ (2003-01-22 02:52) [3]FOR SELECT ID_GRUPENUM,
ID_PARENT,
GRUPENUM,
LONG_NAMENUM,
TYPE_DATE,
NOTE_ENUM
FROM GRENUMER
WHERE (0 = :ID_PAR) OR (ID_PARENT=:ID_PAR)
Тогда, если передать 0, то получим все записи. Иногда, правда, бывают проблемы при использовании одногоименного параметра несколько раз. Тогда лучше
WHERE (0 = :SELECT_ALL) OR (ID_PARENT=:ID_PAR)
← →
-=Sergeante=- (2003-01-22 10:21) [4]Я обычно пользуюсь в таких случаях макроподстановками (если у тебя FIBPlus). Настоятельно рекомендую.
FOR SELECT ID_GRUPENUM,
ID_PARENT,
GRUPENUM,
LONG_NAMENUM,
TYPE_DATE,
NOTE_ENUM
FROM GRENUMER
@@WHERE%where ID_PARENT=:ID_PAR@
В коде:
with dataset do begin
params.myname["where"].clear;
closeopen(flase);//вывести все записи
/// или
params.myname["where"].setDefaultValue;
prepare;
params.myname["ID_PAR"].asInteger=<ключ>;
closeopen(false);//вывести по условиям WHERE
end;
Таким макаром можно задавать какой угодно сложности условия выборки.
← →
-=Sergeante=- (2003-01-22 10:23) [5]Ляп: params.ByName конечно же.
← →
-=Sergeante=- (2003-01-22 10:29) [6]Ой ёлки, это ж ХП. Венюсь.
Страницы: 1 вся ветка
Текущий архив: 2003.02.06;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.011 c