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

Вниз

IBTransaction - помогите разобраться   Найти похожие ветки 

 
GRR   (2003-04-10 10:14) [0]

Есть классическая (наверное) задача. Нужно сделать примерно следующее:

"Старт транзакции"
Try
while ... do
begin
модификация таблицы 1;
модификация таблицы 2;
end;
Except
"Откат транзакции"
Exit
End
"Подтверждение транзакции"

Т.е. транзакцию подтверждаем в случае успешного выполнения целого цикла модификаций (например расход N позиций товаров в одной таблице и одновременный приход их в другой) , т.е. подтверждаем "или все или ничего".

В чем вопрос.
IBTrancaction, оказывается, стартует автоматически с открытием таблиц. Поэтому когда пишешь StartTransaction Delphi ругается. В книге вычитал как правильно делать. Суть - выглядит так:

Try
while ... do
begin
модификация таблицы 1;
модификация таблицы 2;
end;
Except
"Откат транзакции"
Exit
End
"Подтверждение транзакции"
"Старт Транзакции"

Что меня беспокоит. У меня в проге еще 2 десятка таблиц, с открытием хотя бы одной из них естественно стартует транзакция, и если я сделаю как пишут в книгах я не уверен какое количество изменений я отменю через RollBack, потому как не знаю точно где произошло StartTransaction. К тому же в программе используется и простая модификация таблиц прямо через DBGrid-ы. Не получится ли что я и их прихвачу делая откат транзакции.

Короче изложить не получилось, извините.


 
GRR   (2003-04-10 10:16) [1]

прошу прощения дубля не хотел, была ошибка



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
14-91462
Style
2003-04-03 14:50
2003.04.28
Money...Money...Money ?


14-91496
a$modeu$
2003-04-10 13:37
2003.04.28
Помогите с поиском компонента


3-91204
DukeNukem
2003-04-10 12:11
2003.04.28
Работа с гридом...


14-91502
anbezr
2003-04-10 16:21
2003.04.28
Как перетащить на другой комп мой репозиторий


6-91425
Silver_
2003-03-05 10:19
2003.04.28
DateTime с другого компа в LAN