Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
4-16005
donda
2002-12-15 00:06
2003.02.06
---|Ветка была без названия|---


14-15853
Maloy_
2003-01-18 23:39
2003.02.06
Програмирование КПК


14-15837
Anton
2003-01-22 16:19
2003.02.06
Зачем сдесь последняя строчка


3-15400
Zn
2003-01-21 10:05
2003.02.06
ADO - как вставить в SELECT ссылку на таблицу в другой БД?


1-15544
stim
2003-01-28 10:50
2003.02.06
Как скопировать программу во время её выполнения ?




   Наверх