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

Вниз

Генерация ошибки в MSSQL2000 и перехват ее в Delphi   Найти похожие ветки 

 
Alex-A ©   (2002-06-14 10:38) [0]

Есть хранимая процедура в которой генерируется сообщение об ошибке:

RAISERROR("Error",16,1) WITH NOWAIT

Делфийское приложение нормально перехватывает его

try
AdoStoredProc.ExecProc; // Вызов хранимой процедуры
except
on E:EOleException do ShowMessage(E.Message);
end;

НО!!!
Если перед RaisError выполняется обновление данных (UPDATE, INSERT - все равно), то ошибка в приложении не перехватывается.
Почему это может быть ?!


 
TSV ©   (2002-06-14 12:06) [1]

Попробуй опцию WITH SETERROR.


 
Alex-A ©   (2002-06-17 06:41) [2]

Не помогает WITH SETERROR :(
Может какой глюк в компонентах ADO?
запускаю процедуру в Query Analyzer-е все нормально - ошибка поднимается!


 
Fay ©   (2002-06-17 10:49) [3]

raiserror 50001 ""


 
Alex-A ©   (2002-06-17 13:27) [4]

2Fay
1. raiserror 50001 "" - не помогает тоже
2. мне нужно осмысленное (текстовое) сообщение об ошибке, а добавлять в sysmessages я не могу


 
Александр Спелицин   (2002-06-17 13:33) [5]

RaisError 50001 "Ваш текст ошибки".


 
Alex-A ©   (2002-06-17 13:58) [6]

Как послать текст ошибки я знаю.
Я про то что не всегда она в Delphi перехватывается.
(см. начало топика)


 
unfam   (2002-06-17 14:25) [7]

Все дело в том, что ошибка возвращается всегда, но в подавляющем большинстве случаев операции INSERT и UPDATE выполняются над набором записей и ошибка "перехватывается", если она произошла при обработке первой записи, если же ошибка случилась на, допустим, 12 из 345, то надо просто "пробежать" в цикле по коллекции Errors TADOConnection и вручную вывести сообщение об ошибке


 
Alex-A ©   (2002-06-17 16:02) [8]

2unfum
Вот спасибо!
Все получилось - перехватывается!



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
14-23738
bpv
2002-05-30 11:06
2002.07.08
Генерация шаблонов файлов справки виндоус


1-23657
Jony
2002-06-25 15:22
2002.07.08
Как программно уничтожать программно созданные компоненты?


14-23759
Leviathan
2002-06-06 16:41
2002.07.08
Халтурка по программированию :-)


4-23841
whc
2002-05-10 13:33
2002.07.08
Мышь над StringGrid-ом


3-23507
Sava
2002-06-17 15:44
2002.07.08
Как вернуть значение из хранимой процедуры MS SQL?