SQLRU.net
Разработка приложений баз данных

Начало » Программирование » Delphi » FireDac и FDQuery - нужно каждый раз вызывать коммит?
FireDac и FDQuery - нужно каждый раз вызывать коммит? [сообщение #2564] Thu, 15 June 2023 17:55 Переход к следующему сообщению
GrigoryFomin в настоящее время не в онлайне  GrigoryFomin
Сообщений: 91
Зарегистрирован: April 2023
Member
Подскажите такой нюанс. Я стартанул пишущую транзакцию, везде автокоммит выключил. в ОДНОМ и том же FDQuery выполняю разный код по вставке данных. После всех манипуляций вызываю Commit в транзакции. Данные попадают только от последних инсертов. Нужно после каждого ExecSQL вызывать Коммит? А какже тогда организовать множественную вставку в пределах одной транзакции и если какая-то ошибка - отменить все изменения в рамках одной транзакции?
Например, пишем продажу, пишем сначала в журнал Orders, потом в журнал Opers, Потом обновляем остатки и наконец пишем в журнал кассы. И если мы явно управляем транзакциями, когда вызывать коммит? По идее тогда, когда ни одной ошибки не произошло, иначе делаем роллбэк. Но тога для каждой операции надо свой FDQuery создавать?
Re: FireDac и FDQuery - нужно каждый раз вызывать коммит? [сообщение #2565 является ответом на сообщение #2564] Thu, 15 June 2023 18:32 Переход к предыдущему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
FireDAC - чОрный ящик.
чо там и как не знает даже Арефий.
в правильных компонентах такой хрени нет.
Предыдущая тема: FireDac и 32-х и 64-битные библиотеки вендоров
Следующая тема: Какой порт использует FDEventAlerter ?
Переход к форуму:
  


Текущее время: Wed Dec 18 15:00:25 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00659 секунд