| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > не получается сделать RollBack |
| Автор: Corba 12.1.2006, 17:09 | ||
Вообщем реализовал след. конструкцию:
Я удивился, но except вызывается только когда Oracle не доступен, если же dbxLio.StartTransaction( hTrans ); прошёл, то даже ярые ошибки в SQL - скриптах не способны вызвать exception, при этом конечно же ничего в БД не сохраняется, но естественно выстреливает сообщение "Всё ОК!". Подскажите как мне правильно обработать ошибку, которая может возникнуть при неправильности скрипта. Заранее спасибо. ЗЫ Использую Delphi 7 & Oracle 9 |
| Автор: <Spawn> 13.1.2006, 10:50 |
| А что за компоненты используются? |
| Автор: Corba 13.1.2006, 11:42 | ||||
| используются компоненты dbexpress Я уже сам нашёл решение заключается оно в следующем: В обработчике BeforeUpdateRecord провайдера использую конструкцию:
При этом в случае успешного выполнения кода функция ApplyUpdates(0) вернёт 0 иначе значение больше 0, остаётся лишь сворганить условие. Вот так приобразится код. В этом случае except отрабатывает без выкрутасов.
|