kbmMW在事务中批量执行SQL

客户端使用事务更新多个表数据到kbmMW服务器,使用TkbmMWClientTransactionResolve,可以一次性提交多个修改的数据集到服务器端,服务器利用事务来执行数据的更新,成功,提交事务,不成功,则Rollback事务。在实际开发中,可能遇到在更新数据集的同时,还要执行单独的SQL,处理业务逻辑。方法是:用一个单独的TkbmMWClientQuery来执行。具体用法:

kbmMWClietnQuery3.Query.Text:='Update T1 Set F2=1 where F1=1';

kbmMWClientQuery3.TransactionOperation:=mwtoExecute;//必须设置该数据集为执行要SQL

然后用kbmMWClientTransactionResolve同更新的数据集一起提交:

kbmMWClientTransactionResolver1.Resolve([kbmMWClientQuery1,kbmMWClientQuery2,kbmMWClientQuery3]);

其中,Query1,Query2为数据集,Query3为执行的SQL。

 

那么,如果有多条SQL要执行,该怎么办呢,象上面一样,再利用Query4、Query5...等方式提交SQL?

实际上,kbmMW为了我们提供了更好的方法,就是SQL分隔符。

叹号!:分隔多条要执行的SQL句语

等号=:分隔多条要返回结果的SQL句语(这种方法没想出应用的场景)

看一下具体的用法:

用上面的Query3同时执行两条SQL,象下面这样:

 

with kbmMWClientQuery3 do begin

    Query.SQL.Clear;

    Query.SQL.Add('!Insert into T1 (F1,F2) Values (100,'100');

    Query.SQL.Add('!Insert into T1 (F1,F2) Values (101,'101');

end;

用kbmMWClientTransactionResolve提交后,会看到在T1中插入了这两条新记录。

这个方法真不错!我想这同样适用于服务器端的事务控制,没经测试。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值