Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2013, 13:25   #1
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию PostgreDAC сохранение и откат транзакции

Здравствуйте !

Ситуация: Оператор открыл таблицу и редактирует записи в произвольном порядке, при выходе из формы я ему предлагаю "сохранение" или "не сохранение" его действий. В первом случае выполняю TPSQLDatabase1.Commit во втором TPSQLDatabase1.Rollback
НО
видимо мне что в линейке PostgreDAC не предусмотрена возможность отката фрагмента. видимо гдето встроен автокоммит.

Вопрос: Каким образом произвести Rollback транзакции в линейке компонент PostgreDAC, у кого нибудь получалось ?
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 02.05.2013, 13:46   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

1. смотри настройки транзакции
2. покопай в сторону кеширования изменений
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 02.05.2013, 15:55   #3
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Спасибо Юрий, ответ нашёл.
Господа с майкролапа применили специфическую техноллгию откатов и коммитов. В компоненте TPSQLDatadase они прикрутили методы по типу
SavePoint и ReleaseSavepoint (точка отката)
Чтобы выполнить откат (транзакцию) методом научного тыка вычислил:
1. стартануть транзакцию
TPSQLDatadase.StartTransaction;
2. установить начало отката
TPSQLDatadase.SavePoint('МОЯ_ТОЧКА' );
3. При нажатии кнопки закрыть, в зависисмоти от ответа выполнитьЕ
TPSQLDatadase.Commit; или TPSQLDatadase.RollbackToSavepoint(' RBCK');
Если выполнен Commit обязательно нужно стартануть транзакцию по новому, в противном случае обращение к точке останова вызовет внутренний "эксепшион"

4. по окончании работы - удалить точку
TPSQLDatadase.ReleaseSavepoint('МОЯ _ТОЧКА');
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Откат макроса назад Chelentano Microsoft Office Excel 11 12.04.2016 18:02
Oracle + VBA 2008 ОТКАТ ТРАНЗАКЦИИ James_047 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 1 17.03.2012 21:38
откат базы hunter03 Помощь студентам 1 25.10.2011 19:26
Откат написанной программы фЁдОр Свободное общение 13 20.12.2007 11:35