Firedac:分配给事务的连接

问题描述

我正在使用带有Firebird数据库(3)和FireDac的Delphi 10.4。我对交易处理有个一般性的疑问。

请查看以下伪代码

write_transaction.StartTransaction;
...
write_transaction.Commit;

一个分配给交易的连接。然后我开始使用:

#include <string_view>

std::string_view strv{ "Test 1" };

但是当我呼叫 write_connection.StartTransaction 时,会发生什么?所以我的问题...

是否将为 write_transaction 启动事务,就像调用 write_transaction.StartTransaction 一样?还是会开始完全不同的交易?

解决方法

将启动一次write_transaction事务,就像 是否调用了write_transaction.StartTransaction?

是的,这是相同的。 TFDTransaction组件将事务控制功能包装到一个组件中。实际上,它提供了与TFDConnection相同的事务功能,但是允许您通过将命令和数据集链接到特定的事务对象来对它们进行分组。