龙空技术网

Delphi10 FireDAC 应用事务需要注意的问题(MySql8.0)

大地发威 224

前言:

而今看官们对“delphi mysql频繁查询崩溃”大约比较珍视,大家都想要了解一些“delphi mysql频繁查询崩溃”的相关资讯。那么小编同时在网摘上搜集了一些关于“delphi mysql频繁查询崩溃””的相关内容,希望兄弟们能喜欢,咱们快快来学习一下吧!

第一次想在项目中应用FireDAC数据库组件,应用前需要测试一下项目中所用到数据库相关操作是否需要注意一些什么;其他一切都很OK,到了测试事务功能的时候碰到坑了(事务提交后,数据库中没有数据更新),查看了Mysql的配置文件,设置没有问题(innodb_flush_log_at_trx_commit=1),折腾了1个多小时,甚至怀疑FireDAC有问题,后通过查阅Delphi10自带帮助文档,发现他提到了这个属性:TFDTxOptions.AutoCommit,立刻修改代码,测试,一切OK,代码如下:

procedure TTableOperate.Starttransaction();//开始事务

begin

FDConnection.TxOptions.AutoCommit:=false;

FDConnection.TxOptions.AutoStop:=false;

FDConnection.Connected:=true;

FDConnection.StartTransaction;

TransactionFlag:=true;

end;

procedure TTableOperate.Commit();//提交

begin

FDConnection.Commit;

FDConnection.Connected:=false;

TransactionFlag:=false;

FDConnection.TxOptions.AutoCommit:=true;

FDConnection.TxOptions.AutoStop:=true;

end;

procedure TTableOperate.RollBack();//回滚事务

begin

FDConnection.Rollback;

FDConnection.Connected:=false;

TransactionFlag:=false;

FDConnection.TxOptions.AutoCommit:=true;

FDConnection.TxOptions.AutoStop:=true;

end;

希望能帮助到一些初学者。

标签: #delphi mysql频繁查询崩溃