多层分布式中的事务怎么写啊?
小弟在应用层定义了接口方法,如下,在客户端调用时却不能更新回数据库,
1.请各位帮忙看看是怎么回事?
2.procedure Txsm100.turnmoney(var name1, name2, money: OleVariant);
begin
with ADOConnection2 do
begin
try
begintrans;
with ADOQuery1 do
begin
close;
sql.clear;
sql.add('updata xsm2 set money=money-'+money+' where name like %'+name1+'%');
active:=true;
close;
sql.Clear;
sql.add('updata xsm2 set money=money+'+money+' where name like %'+name2+'%');
active:=true;
end;
showmessage('事务执行成功!');
committrans;
except
rollbacktrans;
showmessage('事务执行失败!');
exit;
end;
end;
end;
其中有表xsm2(name,money);