![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IBTransaction. [D5, IB6.x]
koks © (2002-08-09 11:03:00)Можно ли одну IBTransaction соединять с несколькими IBTabele ?
Alexandr (2002-08-12 08:36:00) [1]я хренею.
AlexSam (2002-08-09 14:24:00) [2]Cranium, ты ошибаешься, это все одна транзакция.
Johnmen (2002-08-09 13:56:00) [3]>Cranium © (09.08.02 13:26)
Никаких вложенных тр-ий !
>koks ©
Либо явно стартуешь тр-ию и явно ей управляешь,
либо она стартанет неявно при первом обращении к БД,
и далее все в рамках одной тр-ии ! (если использ-ся одна IBTransaction)
Cranium (2002-08-09 13:26:00) [4]Ниже следующий код открывает ряд вложенных транзаций, что не допустимо....
> Вначале IBTransaction.StartTransaction;
> Потом IBTable1.Open;
> Потом IBTable2.Open;
> Потом IBTable3.Open;
> Потом IBTable4.Open;
koks (2002-08-09 13:21:00) [5]Все понятно, только как вот так получается: если у нас IBTransaction соединено с несколькими IBTable - ами.. Ведь эти IBTable - ы открываются последовательно..
Получается -
IBTable1.Open -> стартовала транзакция;
IBTable2.Open -> опа... а транзакция уже стартовала
Однако, в данном случае никакой ошибки не вываливается...
elv (2002-08-09 12:54:00) [6]koks © (09.08.02 12:33)
IBTable.Open;
IBTransaction.StartTransaction;
Ругается: transaction is active....
Открыл таблицу неявно стартовала транзакция.
Хотя очень похожий пример есть в хелпе...
Наверное открывается database. Больше как мне кажется нечему.
AlexSam (2002-08-09 12:50:00) [7]Вначале IBTransaction.StartTransaction;
Потом IBTable1.Open;
Потом IBTable2.Open;
Потом IBTable3.Open;
Потом IBTable4.Open;
Потом либо IBTransaction.Commit; - сохранить
либо IBTransaction.Rollback; - откатить
koks (2002-08-09 12:33:00) [8]Поставил IBTransaction и IBTable.
Постваил IBTable.Transaction := IBTransaction.
Код:
IBTable.Open;
IBTransaction.StartTransaction;
Ругается: transaction is active.... Хотя очень похожий пример есть в хелпе...
AlexSam (2002-08-09 11:44:00) [9]Хоть 100, хоть 200.
Это означает, что все запросы генерируемые этими IBTabele, находятся в одной транзакции.
3JIA9I CyKA (2002-08-09 11:06:00) [10]Возможность такая имеется