Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.045 c
2-1168162502
enZinger
2007-01-07 12:35
2007.01.28
edit.keypress


2-1168284648
Kostya_86
2007-01-08 22:30
2007.01.28
Запуск access


15-1167997822
kaZaNoVa
2007-01-05 14:50
2007.01.28
Сменить пароль Windows


15-1168127114
AntiUser
2007-01-07 02:45
2007.01.28
Великая тайна воды


2-1168441050
09
2007-01-10 17:57
2007.01.28
qtintf.dll





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский