GdcBase.TgdcBase.Transaction

Материал из GedeminWiki
Версия от 20:01, 9 октября 2010; SYSDBA (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
 Модуль: gdcBase.pas   Тип: property   Видимость: public   Принадлежит: TgdcBase 

Delphi:

 property Transaction: TIBTransaction read GetTransaction write SetTransaction;

Описание

Транзакция.


Использование транзакции бизнес-объекта во внешних запросах

Находимся внутри сложного процесса изменения

  1. Если Вам надо только что-то прочитать за пределами процесса, то используем gdcBaseManager.ReadTransaction. Она всегда есть, она всегда открыта.
  2. Если Вам надо что-то изменить или прочитать данные, которые меняются текущим процессом, то используем Self.Transaction. Не надо проверять открыта она или нет. Она ДОЛЖНА быть открыта. Если нет, то это ошибка в коде ядра или в коде настройки и надо исправлять саму ошибку, а не проверять ее следствие.

Находимся за пределами процесса изменения

  1. Если Вам надо только что-то прочитать, то используем gdcBaseManager.ReadTransaction. Она всегда есть, она всегда открыта.
  2. Если Вам надо что-то изменить, то создаем и используем свою транзакцию. Ни в коем случае не дергаем Self.Transaction или gdcObject.Transaction. Одиночные изменения можно делать gdcBaseManager.ExecSingleQuery.

Внутри процесса означает в методах DoAfterСustomProcess, CustomInsert, CustomModify и CustomDelete.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты