求助,为何数据库Transaction功能未能实现(DEPHI6.0+MYSQL)?

xjyin 2002-04-19 08:30:24
MySql版本为MySQl 3.23.41(For Linux),用dbexpress 连接mysql数据库.
所有Mysql中table type= BDB (支持Transaction功能);


dbconn:TSqlConnection ;
cdsUser :TSqlClientDataSet;
(CommandText='select * from h_user_table');
table fields include :
usr_id varchar(15)
usr_password varchar(32)
usr_desc varchar(40)
ds:TDataSource ;
dbgrid:TDbGrid ;


我的做法是 Mysql资料<== dbconn <== cdsUser <== DS <== dbgrid
在dbgrid 中修改资料后,按button
存盘,发现资料还是被update ,并未 roolback,
Transaction功能未能实现。


其Button code 如下:
procedure TForm1.Button1Click(Sender: TObject);
var
TD: TTransactionDesc;
int:integer;
begin
if not dbconn.InTransaction then
begin
TD.TransactionID := 1;
TD.IsolationLevel := xilREADCOMMITTED;
dbconn.StartTransaction(TD);
end;
try
if cdsuser.ChangeCount>0 then
cdsuser.ApplyUpdates(-1);
i:=strtoint('abc'); //产生异常事件,激活dbconn.roolback .
dbconn.Commit(TD);
except
dbconn.Rollback(TD);
end;
end;


但我用MySQl-Front 下如下Sql :


SET AUTOCOMMIT=0 ;
BEGIN WORK ;
update h_user_table set usr_id = 'test test'
where
usr_id = 'test'
ROLLBACK ;
SET AUTOCOMMIT=1 ;


查看资料发现却未被Update.这说明mysql数据库支持Transaction
功能。


哪位能告诉我为什么吗?

...全文
94 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
make11111 2002-04-30
  • 打赏
  • 举报
回复
gz!
xjyin 2002-04-30
  • 打赏
  • 举报
回复
不是MYSQL的問題,Mysql中table type= BDB (支持Transaction功能)我現在用BDE就可以實現.我想可能是DEPHI6中dbExpress不支持或者是個BUG.
帅老头123 2002-04-23
  • 打赏
  • 举报
回复
mysql 4.0以下,不支持实务处理
4.0也不支持存储过程,触发器,。。
FOREIGN KEY 是假的

newwen 2002-04-19
  • 打赏
  • 举报
回复
如果TSqlClientDataSet连接的是TSqlConnection按说应受TSqlConnection的事物保护,你试试post,别被我的回答误导了,我也不知道哪的问题,帮你Up吧
xjyin 2002-04-19
  • 打赏
  • 举报
回复
TSqlClientDataSet连接的是TSqlConnection,如果TSqlClientDataSet不受TSqlConnection的事物保护,使用什么控件受TSqlClientDataSet的事物保护?怎样才能实现Transaction功能?
newwen 2002-04-19
  • 打赏
  • 举报
回复
你用TSqlClientDataSet不受TSqlConnection的事物保护啊
xjyin 2002-04-19
  • 打赏
  • 举报
回复
谢谢你了,newwen(wen) .
newwen 2002-04-19
  • 打赏
  • 举报
回复
再帮你up

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧