![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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
Не следует явно стартовать транзакцию привязанную к датасету.