Отключение AutoCommit

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Закрыто
DarkProgger
Сообщения: 3
Зарегистрирован: Ср 15 фев 2012 10:28

Отключение AutoCommit

Сообщение DarkProgger » Ср 15 фев 2012 10:52

Добрый день. Раньше я работал с FIBPlus и только на Firebird, ну и ещё иногда приходилось использовать сторонние компоненты для доступа к другим БД. Сейчас выросла целая платформа со своей идеологией и правилами, но исключительно для работы конкретно с Firebird. На сегодняшний момент возникла необходимость писать программу которая будет работать с MSSQL, но при этом не хочется иметь больших сложностей при переключении с одной БД на другую. В FIB можно использовать следующий код

Код: Выделить всё

Transaction.startTransaction. 
DataSet.Appent; 
DataSet.FieldByName('ID').AsString:='12345'; 
DataSet.Post; 
DataSet.Edit; 
///user something doing in Application 
DataSet.FieldByName('Field1').AsString:='12345'; 
DataSet.FieldByName('Field2').AsString:='67890'; 
DataSet.FieldByName('Field3').AsString:='54321'; 
DataSet.Post; 
If Save then 
   DataSet.Commit 
   else 
   DataSet.Rollback; 
Но если я использую UniDAC, то у меня в таблице появляется запись сразу же после вызова метода Post. К тому же такой код вообще не работает, т.к. транзакция уже стартовала. Почитав мануал я понял что это из-за включенного по умолчанию AutoCommit - как его выключить? И как им вообще можно управлять( отдельных случаях AutoCommit очень удобен)?

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Сообщение AndreyZ » Ср 15 фев 2012 15:46

Я ответил Вам на нашем английском форуме: http://www.devart.com/forums/viewtopic.php?t=23402

Закрыто