Главная страница
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.017 c
1-1419
bfg1000ke
2003-08-19 14:03
2003.09.01
Печать


14-1608
Marser
2003-08-13 00:15
2003.09.01
Именинники 13 августа


14-1669
Eclipse
2003-08-12 11:17
2003.09.01
Помогите начать с 3D


7-1679
serjhp
2003-06-11 11:40
2003.09.01
Спикер?


1-1474
Miralex
2003-08-18 13:59
2003.09.01
DragOver в Treeview