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

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

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]

Возможность такая имеется


Наверх

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