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

Вниз

то ли лыжи не едут...   Найти похожие ветки 

 
term1t ©   (2007-01-11 12:44) [0]

Доброго времени суток, мастера.
Столкнулся с проблемой: при печати отчета одной переменной присваивается значение из БД, которого может не существовать (это оказалось только недавно). это никак не предусматривалось ранее. я вспомнил про такую функцию как NVL. решил чтоб не наломать дров попрактиковаться на новом "проекте" - кинул ОраСешн, ОраКвери, Баттон и Лабел. по на жатию кнопки Label1.Caption должен принимать значение поля БД.

текст запроса

SELECT NVL(l_name, "netu") AS mm
FROM empl
WHERE id=1 /* заведомо неверный id*/


Procedure TForm1.Button1Click(Sender:TObject);
begin
 OraSession1.Connected:=true;
 OraQuery1.Active:=True;
 Label1.Caption:=OraQuery1.FieldByName("mm").AsString;
end;


при нажатии у Лабела просто пропадает заголовок. и все. но почему? не могу понять.


 
Desdechado ©   (2007-01-11 12:48) [1]

SELECT NVL(l_name, "netu") AS mm
FROM empl
WHERE id=1 /* заведомо неверный id*/

Это даст исключение NO_DATA_FOUND.

А вот это работает:
SELECT nvl( 1, 1 ) AS da, nvl( null, 0 ) as net FROM Dual


 
term1t ©   (2007-01-11 13:19) [2]

т.е. NO_DATA_FOUND и NULL, я так понимаю, не одно и тоже? а жаль.


 
Anatoly Podgoretsky ©   (2007-01-11 13:28) [3]

> term1t  (11.01.2007 13:19:02)  [2]

Какой еще NULL, если согласно условию не возвращается ни одна запись.


 
Sergey13 ©   (2007-01-11 13:30) [4]

> [0] term1t ©   (11.01.07 12:44)

Проверяй вернувшийся НД на наличие в нем записей. Или меняй запрос на нечто, гарантировано возвращающее результат. Например count.


 
Desdechado ©   (2007-01-11 13:40) [5]

> т.е. NO_DATA_FOUND и NULL, я так понимаю, не одно и тоже?
NULL - данные есть, но они не определены.
NO_DATA_FOUND - это исключительная ситуация, которая должна была вернуться к тебе в качестве AV, которое ты, видимо, благополучно придушил в try-except


 
term1t ©   (2007-01-11 13:49) [6]

всем спасибо. буду думать.


 
term1t ©   (2007-01-11 13:52) [7]

> Desdechado ©   (11.01.07 13:40) [5]
Нет,  try-except я не использовал, но и AV небыло.



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

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

Наверх




Память: 0.48 MB
Время: 0.053 c
15-1168402510
Slider007
2007-01-10 07:15
2007.01.28
С днем рождения ! 10 января


5-1147125189
Константинов
2006-05-09 01:53
2007.01.28
Свойства - события


2-1168501791
Apachi
2007-01-11 10:49
2007.01.28
сохранение результатов работы командной строки


6-1156606780
DVM
2006-08-26 19:39
2007.01.28
Неблокирующие сокеты на WinAPi.


2-1167883767
Vopros
2007-01-04 07:09
2007.01.28
iif в Запросе