InTransaction: Boolean;
Метод InTransaction возвращает признак наличия инициализированной транзакции с БД.
Для инициализации транзакции используйте метод IDalConnection.StartTransaction. Если транзакция инициализирована и может использоваться в текущий момент, то метод InTransaction вернет значение True. Если транзакция не доступна (была завершена ранее, закрыта по таймауту, не была инициализирована по каким-либо причинам и прочее), то метод вернет значение False.
Для применения изменений, выполненных в рамках транзакции, используйте метод IDalConnection.Commit, для отката изменений - IDalConnection.Rollback.
Добавьте ссылки на системные сборки: Dal.
Sub UserProc;
Var
Driver: IDalDriver;
Connect: IDalConnection;
Command: IDalCommand;
ConnectDesc: IDalConnectionDescriptor;
ConnectDescParams: IDalConnectionDescriptorParams;
Begin
Driver := New DalOrcl8Driver.Create;
ConnectDesc := Driver.CreateDescriptor;
//Параметры подключения
ConnectDescParams := ConnectDesc.Params;
ConnectDescParams.Find("User Name").Value := "User";
ConnectDescParams.Find("Password").Value := "Password";
ConnectDescParams.Find("Host BSTR").Value := "OrclServer";
ConnectDescParams.Find("Schema").Value := "Repository";
//Создание соединения
Connect := ConnectDesc.CreateConnection;
Command := Connect.CreateCommand;
//Команда
Command.SQL := "Insert Into Table_1 values ('AA','BB',11,22,'12.12.2002')";
//Инициализация транзакции
Connect.StartTransaction;
If Connect.InTransaction Then
Command.Execute;
//Завершение транзакции с сохранением данных
Connect.Commit;
End If;
Command.Close;
Connect.Close;
End Sub UserProc;
При выполнении примера будет осуществлено подключение к репозиторию с указанными параметрами расположения. После этого произойдет инициализация транзакции. Если никаких ошибок не произошло и транзакция инициализирована, то будет выполнен SQL-запрос, который добавляет новую запись в таблицу «Table_1».
См. также: