Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 4676|回复: 1

sqldb mysql50connection 的BUG

[复制链接]

该用户从未签到

发表于 2011-2-20 04:07:44 | 显示全部楼层 |阅读模式
窗体上放1个mysql50connection,1个sqltransaction,1个sqlquery,连通。运行后关闭窗体,会提示异常:SQLTransaction1:Operation cannot be performed on an active transaction.

跟踪后发现原来是mysql50connection的rollback方法返回了false。这样在TSQLTransaction.Rollback中以为rollback失败了,就没有关闭transaction,引起以后释放时抛出异常。所以修改mysqlconn.inc
function TConnectionName.RollBack(trans: TSQLHandle): boolean;
begin
  result:=true;
end;

问题解决(原文居然就写了一句// Do nothing  就算了,真不知道发布的人有没有测试过)。
我的环境:
ubuntu 10.04
fpc 2.4
laz:0.9.28.2
回复

使用道具 举报

该用户从未签到

发表于 2011-5-25 17:35:38 | 显示全部楼层
不管用呀 还是在提示异常 SQLTransaction1:Operation cannot be performed on an active transaction
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-8-28 10:02 , Processed in 0.038936 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表