Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
Внизто ли лыжи не едут... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.057 c