Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.01;
Скачать: CL | DM;

Вниз

Нюанс по написанию процедуры InterBase   Найти похожие ветки 

 
Step[B.M.] ©   (2003-07-28 11:38) [0]

for select KFO from TBL WHERE KFO=4
into :VAR_KFO do XXXXXXXX; else YYYYYYYYYY;

Так вот. Если в таблице найдется KFO=4 то ХХХХХХХХХ выполнится но
если не найдется то YYYYYYYYYY почему-то не выполняется.
Как поступить чтоб выполнялся :)
Спасибо.


 
Zacho ©   (2003-07-28 11:48) [1]

Чего ?? Нет такого синтаксиса в IB. Делай, например, так:
FOR SELECT KFP FROM TBL INTO :VAR_KFO DO
BEGIN
IF (VAR_KFO=4) THEN
BEGIN
XXXXXX;
END ELSE
BEGIN
YYYYY;
END
END


 
Соловьев ©   (2003-07-28 11:48) [2]


> for select KFO from TBL WHERE KFO=4
> into :VAR_KFO do XXXXXXXX; else YYYYYYYYYY;


for select KFO from TBL WHERE KFO=4
into :VAR_KFO do XXXXXXXX;
if KFO is NULL then
begin
YYYYYYYYYY;
end





 
Zacho ©   (2003-07-28 11:53) [3]


> Соловьев © (28.07.03 11:48)

Не-а ... Откуда же возьмется KFO за пределами цикла FOR SELECT ?


 
Соловьев ©   (2003-07-28 11:58) [4]


> Zacho © (28.07.03 11:53)

да ты прав. не то написал. надо

for select KFO from TBL WHERE KFO=4
into :VAR_KFO do XXXXXXXX;
if VAR_KFO is NULL then
begin
YYYYYYYYYY;
end


 
Zacho ©   (2003-07-28 12:03) [5]


> Соловьев © (28.07.03 11:58)

Не, это тоже не будет работать. Условие VAR_KFO is NULL не выполнится никогда, т.к. в VAR_KFO окажется последнее выбранное значение KFO, т.е. 4 :)


 
Zacho ©   (2003-07-28 12:12) [6]


> Zacho © (28.07.03 12:03)

Да, а здесь я не прав. :-) Похоже не правильно понял, что именно надо было автору. Будет работать, только стоило бы еще перед FOR SELECT написать VAR_KFO=NULL;


 
Соловьев ©   (2003-07-28 12:14) [7]


> Zacho © (28.07.03 12:03)

почему? если цыкл не выполниться, то VAR_KFO будет NULL :)
Правда я сначала не посмотрел запрос - смылса в нем нет. А вот твой вариант

> Zacho © (28.07.03 11:48)

имеет смыл :) А что автор поста хотел - остается догадываться :)))


 
HSolo ©   (2003-07-28 14:33) [8]

Попробую и я погадать :))

if exists (select KFO from TBL WHERE KFO=4)
then XXXXXXXX; else YYYYYYYYYY;


 
Step[B.M.] ©   (2003-08-08 19:48) [9]

Спасибо огромное что вы так все "погадали". Много чего полезного. Благодаря Вам все у меня получилось :)



Страницы: 1 вся ветка

Текущий архив: 2003.09.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
14-1653
Скорбящий
2003-08-13 20:05
2003.09.01
сабж


7-1682
Oleg
2003-06-17 18:42
2003.09.01
Windows shutdown


3-1348
ED
2003-08-06 11:26
2003.09.01
Как в запросе SELECT можно было несколько полей одного типа объед


14-1547
Кен
2003-08-07 02:06
2003.09.01
Нашёл хтмл-вирус. Как защитить от него ИЕ6 ?


1-1449
dima_matrix
2003-08-16 12:55
2003.09.01
Компоновка кода Делфями