Главная страница
    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.057 c
2-1168251367
Patrick
2007-01-08 13:16
2007.01.28
Проблема округления


15-1168283686
Prohodil Mimo
2007-01-08 22:14
2007.01.28
что такое CD/MD управление


1-1165407062
Tonich
2006-12-06 15:11
2007.01.28
Прозрачность


2-1168593143
vigo_
2007-01-12 12:12
2007.01.28
Вызов переменной из другого Unit a


1-1164191499
Uran
2006-11-22 13:31
2007.01.28
Проблеммы с кирилицей.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский