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

Вниз

Не вызывается Exception   Найти похожие ветки 

 
Eugen1001 ©   (2002-01-29 18:47) [0]

Такая вот загадочная ситуация.
Есть TQuery вызывающий хранимую процедуру.
У него настроен DataSource для параметров.
Процедура имеет несколько уровней вложенности.
Где-то внутри процедуры происходит Exception
"Primary key violation", но Delphi при этом
не попадает в облать Except, а спокойно
продолжает работать.

Так вопрос следюущий: что нужно сделать,
чтобы в Delphi вызывался Exception,
или при данных условиях на это тяжело рассчитывать?


 
Delirium ©   (2002-01-29 18:54) [1]

Видимо ошибка "застревает" среди вложенных процедур, или обрабатывается ими-же. Надо бы провести её в базовую процедуру, как результат работы вложенных процедур и вызвать RAISERROR.
Я думаю так.


 
eugen1001 ©   (2002-01-29 18:58) [2]

Я учел этот момент и в конце последней процедуры добавил
RaiseError, но он не виден, обидно, что QueryAnalyser
спокойно выводит оба сообщения об ошибке. :-(((


 
Delirium ©   (2002-01-29 19:15) [3]

Попробуй поставить RAISERROR до заключительного SELECT-а


 
eugen1001 ©   (2002-01-29 20:21) [4]

Да нет. Короче перестал я использовать DataSource в TQuery и
все заработало.
Видимо Delphi считает, что баловство вызывать exception из
Detail-query.
Жаль в документации про это не очень написано.


 
eugen1001 ©   (2002-01-29 20:22) [5]

Я для профилактики в конце основной процедуры вообще написал:
select 1 / 0, и хоть бы что


 
Delirium ©   (2002-01-29 20:26) [6]

Весело, я такого не замечал, правда я работаю принципиально только с ADO.


 
eugen1001 ©   (2002-01-29 20:54) [7]

Я тоже дошел до того, что работать можно только с ADO,
и только с ADOCommand. Все эти ADOTable и ADOStoredProc - от лукавого.

Правда завершая тему хочу сказать, что рядом лежит другой такой же TQuery (они последовательно запускаются), так он работает нормально. Но в нем всего 2 параметра типа int.

В общем кидаю ручками параметры, как все нормальные люди.



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

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

Наверх




Память: 0.48 MB
Время: 0.007 c
1-66541
UnDISCOvery
2002-02-04 16:58
2002.02.21
Как отследить и обработать событие на перемещение окна ?


3-66426
savva
2002-01-24 10:00
2002.02.21
Можно ли в хранимой прцедуре InterBase вызывать функции, хранящиеся в самой базе (Functions)


1-66552
XRun
2002-02-04 16:37
2002.02.21
Работа с файлами


4-66711
Burunduk
2001-12-23 10:58
2002.02.21
Internet Explorer


1-66567
MAcroS
2002-02-05 16:10
2002.02.21
Запустить EXEшник...