gpt4 book ai didi

delphi - TpFIBTransaction 给出错误 : Transaction is not active in Delphi XE4 with FIBPlus 7. 5

转载 作者:行者123 更新时间:2023-12-02 12:50:09 26 4
gpt4 key购买 nike

我正在从 Delphi 7 迁移到 Delphi XE4。对于 Delphi XE4,我使用的是 FIBPLUS 7.5。 Delphi 7 应用程序运行良好,但我在 Delphi XE4 中遇到运行时错误:

"Project abc.exe raised exception class EFIBClientError with message frmABC.transRead: Transaction not active"  

PAS文件

var
transRead: TpFIBTransaction;
...
...
//transRead is used like this
with TpFIBQuery.Create(Self) do
begin
Database := dbMyDB;
Transaction := transRead;
SQL.Add ('Select .....');
ExecQuery;
Close;
Free;
end;

DFM File

object transRead: TpFIBTransaction
DefaultDatabase = dbMyDB
TimeoutAction = TARollback
Left = 192
Top = 196
end

我已经搜索了整个项目中的所有 pas 和 dfm 文件。我没有找到这样的说法:

transRead.Active := True;

但我确实在很多地方发现了以下说法:

if transRead.Active then
begin
..........
..........
end

我也在一些地方看到过这个:

transRead.Active := False;

我们不需要激活交易吗?是自动激活的吗?请建议我任何线索,我应该集中精力摆脱这个“交易不活跃”错误。

最佳答案

有两种方法:1. 在 execQuery 或之前启动事务2. 在TpFibQuery的Options中设置options字段qoStartTransaction,如下:

Options := Options + [qoStartTransaction];

关于delphi - TpFIBTransaction 给出错误 : Transaction is not active in Delphi XE4 with FIBPlus 7. 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20209824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com