Одна активная IB-транзакция за все время жизни однопользовательского приложения - PullRequest
3 голосов
/ 21 января 2010

Есть ли какие-либо негативные последствия, когда однопользовательское приложение использует только одну транзакцию IB, которая активна в течение всего времени работы программы? Используя только CommitReeding и RollbackRetainment.

Справочная информация: я хочу использовать IBQuery (s) и подключить их к сетке (ам) БД (DevExpress), которая загружает все записи в память одновременно. Поэтому я хочу избежать повторной загрузки всех данных после каждой команды вставки SQL. IBTransaction.Commit закроет набор данных.

Ответы [ 2 ]

4 голосов
/ 21 января 2010

Мне кажется, что вы пытаетесь использовать функцию базы данных, чтобы избежать использования TClientDataSet, который в наши дни является наиболее предпочтительным способом работы в Delphi. Зачем идти своим путем и использовать сомнительные методы транзакций вместо того, чтобы следовать более распространенному шаблону использования компонентов базы данных, который уже является лучшим решением для рассматриваемой проблемы?

1 голос
/ 21 января 2010

CommitReeping и RollbackRenting не годятся.

транзакция должна быть очень короткой.

...