Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Генерация ошибки в MSSQL2000 и перехват ее в Delphi [D6, MSSQL]


Alex-A ©   (2002-06-14 10:38:00) 

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

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

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

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

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


Alex-A   (2002-06-17 16:02:00) [1]

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


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

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


Alex-A   (2002-06-17 13:58:00) [3]

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


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

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


Alex-A   (2002-06-17 13:27:00) [5]

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


Fay   (2002-06-17 10:49:00) [6]

raiserror 50001 ""


Alex-A   (2002-06-17 06:41:00) [7]

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


TSV   (2002-06-14 12:06:00) [8]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо