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

Вниз

ApplyUpdates?   Найти похожие ветки 

 
AlexA ©   (2003-06-11 12:53) [0]

Имееться два IBQuery + IBUpdateSql (IBQuery1, IBQuery2)
Оба висят на одной транзакции Tr1. Для обоих CachedUpdatesb = True
Для таблицы из которой берет данные первый IBQuery, имется триггер (BEFORE INSERT) , который проверяет заполнение обязательный полей, в случае
отсутствия данных, вызываеться исключение.
В програме происходит следующее
1.Старт транзакции
2. Вставка данных в оба запроса (в первом запросе отсутствуют обезательные поле)
3. Try
DM.IBQuery1.ApplyUpdates; //при отладке после этого выскакивает сообщение о ошибке, далее ни какие операторы не выполняються, Для второго Query данные сохраняються .
DM.IBQuery2.ApplyUpdates;
DM.IBTr1.Commit;
except
ShowMessage("Ошибка");
exit;
end;
При работе (не отладка) сообщение о ошибке не возникает.
Почему не выполняються оператору следующие ниже? Как сохраняються данные для втрого Query?
Вообще по задумке необходимо, выдать сообщение о ошибке ( нашел как это делаеться - например событие PostError) и главное дать возможность пользователю отредактировать данные.
Но такое впечатление складываеться, что происходит потверждение транзакции и все приплыли..


 
Жук ©   (2003-06-11 13:40) [1]

Чё-то не очень понятно.


 
AlexA ©   (2003-06-12 01:16) [2]

>Жук Имеется код, вносяться даные, на сервере IB проверяюся в триггере, данные ошибочные, вызываеться исключение. Но для другого НД( относяшихся к той же транзакции ) происходит запись в БД. Почему? КАК ИЗБЕЖАТЬ?


 
kostik78ua   (2003-06-12 09:22) [3]

1. Обрати внимание на параметр (var Action: TDataAction) в OnPostError.
2. Не забывай в случае ошибки делать RollBack
3. Лучше вместо IBQuery1.ApplyUpdates; делать IBDatabase1.ApplyUpdates([IBQuery1]);


 
AlexA ©   (2003-06-14 03:55) [4]

>kostik78ua Не хочу делать RollBack, хочу пользователю дать возможность исправиться... :-)


 
AlexA ©   (2003-06-25 16:14) [5]

Посоветуйте....



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-55516
Afonya
2003-07-04 16:15
2003.07.17
Перехватывание созданным компонентом событий мыши.


3-55411
vil
2003-06-23 12:52
2003.07.17
ListSourse в DBLookupComboBox


3-55468
Chery
2003-06-25 14:53
2003.07.17
Отображение данных в DBLookupComboBox без клика по нему ?


14-55731
NailMan
2003-07-01 18:13
2003.07.17
А как вы относитесь к идее распределенных вычислений?


14-55818
Юрий Федоров
2003-06-30 16:05
2003.07.17
ВОПРОС: Почему курицы перешли через дорогу?