AStar低代码平台RpcServiceBase的应用:客户端事务管理

由于AStar平台是基于RPC协议与AStar后端服务进行通讯,而又非常接近常规BS的编码方式,直接写SQL即可对数据库进行操作,那么如果有若干个访问需要在同一事务中进行的,如何处理?比如先生成临时表,再对临时表进行若干统计输出多个结束集。

下面是个例子:

csharp 复制代码
String trxId = await RpcService.Lock(Session.Account); //先根据账套锁定返回交易id
try
{
   await RpcService.BeginTrans(trxId);  //开始事务
   try
   {
      await dbf10(sql_rpt_m1_create_tm, parm, trxId); //所有rpc远程访问都基于这个交易trxId
      await RpcService.Query("select * from zb_", parm, dataSetd.Tables["rpt_sum_1_tm"], true, trxId: trxId);
      await RpcService.Query(sql_rpt_m1_td, parm, dataSetd.Tables["rpt_sum_1_td"], true, trxId: trxId);
   }
   finally
   {
      await RpcService.Rollback(trxId); //因为这是报表,所以回滚即可,如果是更新操作,要用RpcService.Commit
   }
}
finally
{
   await RpcService.Release(trxId); //最后要释放这个交易id
}
相关推荐
jonyleek3 小时前
【JVS更新日志】低代码、APS排产、物联网、企业计划9.10更新说明!
物联网·低代码·团队开发·软件开发·软件需求
GISer_Jing4 小时前
低代码拖拽实现与bpmn-js详解
开发语言·javascript·低代码
2501_915918411 天前
Web 前端可视化开发工具对比 低代码平台、可视化搭建工具、前端可视化编辑器与在线可视化开发环境的实战分析
前端·低代码·ios·小程序·uni-app·编辑器·iphone
yinmaisoft1 天前
当低代码遇上AI,有趣,实在有趣
android·人工智能·低代码·开发工具·rxjava
醉方休1 天前
低代码核心原理总结
低代码
葡萄城技术团队1 天前
低代码+MCP实战三大案例,企业如何通过MCP构建专属AI智能体?
低代码·mcp
chat2tomorrow2 天前
数据采集平台的起源与演进:从ETL到数据复制
大数据·数据库·数据仓库·mysql·低代码·postgresql·etl
GitCode官方2 天前
直播预告 | 开源低代码框架 Erupt 全生态讲解
低代码·开源
NocoBase2 天前
6 个最佳无代码 IT 资产管理工具推荐
低代码·开源·github
alsmile2 天前
什么是组态?不会代码也能搭出工业大屏和数字可视化
低代码·数据可视化