关于kbmMW的事务控制,前文已经在客户端实现,通过kbmMWClientTransaction来控制多个数据集的提交,在客户端提交多数据集,
实际上,是在客户端实现业务逻辑,并通过一个事务来完成数据处理,这是违反多层架构的做法,实际项目中,需要在服务端,
往往是利用多个数据集进行业务处理,并且用事务来控制,那我们该怎么办呢?换句话说,如何在服务实现事务的控制。
kbmMW在服务端,如同在客户端一样,为我们提供了方便的机制来处理事务。
下面的代码,转自kbmMW的新闻组:
var tx: TkbmMWTransaction;
begin
tx := TkbmMWTransaction.Create;
try
try
tx.AddConnection(SrvCore.mwDbConPool.GetBestConnection);
tx.StartTransaction;
qQueryDel.Execute(tx);//if exec type statement
qQueryDel.Resolve(tx);//if resolve qAnotherQuery.Resolve(tx);
tx.CommitTransaction; Result := true;
except
tx.RollbackTransaction;
raise;
end;
finally
tx.ReleaseConnections;
tx.Free;
end;
end;
通过上面的代码,可以看到,kbmMW提供了TkbmMWTransaction,来控制服务端的事务控制,用法简洁,想必一看也就清楚了。
[转载红鱼儿]kbmmw 开发点滴:kbmmW服务端事务控制
最新推荐文章于 2016-10-18 10:05:00 发布