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

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

StartTransaction. [D7, IB6.x]


Mery ©   (2007-09-21 08:56:00) 

Есть IBDataSet. С ней связана IBTransaction.
Открываю свой IBDataSet.
Далее Код:
Tran_Pat.StartTransaction;
try
Pat.Edit;
....
Pat.Post;
Tran_Pat.CommitRetaining;
except
Tran_Patient.RollbackRetaining;
end;
На форме IBTransaction.Active в False;
Но программа даёт ошибка Transaction is Active. Почему? Когда она активизировалась?


Mery   (2007-09-21 09:35:00) [1]

Поняла.Спасибо.


Sergey13   (2007-09-21 09:25:00) [2]

> [2] Mery   (21.09.07 09:19)
> То есть вообще не писать Tran_Pat.CommitRetaining?

Стартовать - это Start по аглицки. Открыла датасет - стартовала. CommitRetaining - сохранила и перестартовала транзакцию.


Mery   (2007-09-21 09:19:00) [3]

>Когда ты открыла свой датасет связанный с транзакцией.
Я так и подумала.
>Не следует явно стартовать транзакцию привязанную к датасету.
То есть вообще не писать Tran_Pat.CommitRetaining?
А как тогда формировать откат?
Как вообще задавать тогда начало транзакции,чтобы в случае чего произвести откат?
Как выглядит код на моём примере?


Sergey13   (2007-09-21 09:03:00) [4]

> [0] Mery   (21.09.07 08:56)
> Когда она активизировалась?

Когда ты открыла свой датасет связанный с транзакцией. И потом, когда сказала Commit Retaining
Не следует явно стартовать транзакцию привязанную к датасету.


Наверх

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