Главная страница
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.033 c
1-1384
frost
2003-08-16 12:57
2003.09.01
ComboBox как TreeView.


1-1364
SIW
2003-08-17 19:37
2003.09.01
Работа с TStringList


3-1280
Fantasy
2003-08-09 05:34
2003.09.01
Есть ли в SQL втроеная переменная реального даты и времени


14-1587
CrazyHackers
2003-08-14 13:35
2003.09.01
Бесплатный софт для создания инсталяторов


14-1648
SergP
2003-08-12 14:23
2003.09.01
И снова о Proxy-Сервере