database - 一个活跃的 IB 交易贯穿单个用户应用程序的整个生命周期

标签 database delphi transactions firebird interbase

当单个用户应用程序只使用一个 IB 事务时,它是否会产生任何负面影响?仅使用 CommitRetaining 和 RollbackRetaining。

背景:我想使用 IBQuery(s) 并将它们连接到 DB Grid(s) (DevExpress),它将所有记录一次加载到内存中。所以我想避免在每个 SQL 插入命令之后重新获取所有数据。 IBTransaction.Commit 将关闭数据集。

最佳答案

在我看来,您正在尝试使用数据库功能以避免使用 TClientDataSet,这显然是目前在 Delphi 中首选的工作方式。为什么要特意使用有问题的事务实践,而不是遵循更常见的数据库组件使用模式,这已经是手头问题的更好解决方案?

关于database - 一个活跃的 IB 交易贯穿单个用户应用程序的整个生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111290/

相关文章:

java - 如何将 ArrayList 数据添加到 Derby 中的相同#?

database - 基于图形的数据库 (http ://neo4j. org/) 的用例是什么?

delphi - 如何将 TStringGrid 从 Delphi 7 转换为 Delphi XE

magento - Magento 订单系统中的交易

java - Spring hibernate "You cannot commit during a managed transaction!"

database - 数据库文件非常大的sqlite有什么性能特点?

php - 如何在Mysql中将Top Value字段显示为top

delphi - 知道 Onclick 事件被触发

delphi - 为什么我必须发送两个连续的 HTTP Get 请求才能进行身份验证?

sql-server - 回滚嵌套事务的内部事务