当单个用户应用程序仅使用一个IB事务时,是否存在任何负面影响,只要程序运行,该事务处于活动状态?仅使用CommitRetaining和RollbackRetaining。
背景:我想使用IBQuery(s)并将它们连接到DB Grid(s)(DevExpress),它会立即将所有记录加载到内存中。所以我想避免在每次插入SQL命令后重新获取所有数据。 IBTransaction.Commit将关闭数据集。
答案 0 :(得分:4)
听起来我觉得你正在尝试使用数据库功能以避免使用TClientDataSet
,这显然是目前在Delphi中工作的首选方式。为什么要不要使用可疑的事务实践而不是遵循更常见的数据库组件使用模式,这已经是解决手头问题的更好解决方案了?
答案 1 :(得分:1)
CommitRetaining和RollbackRetaining并不好。
交易必须非常短暂。