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
}
相关推荐
Zoey的笔记本9 小时前
敏捷与稳定并行:Scrum看板+BPM工具选型指南
大数据·前端·数据库·python·低代码
启扶农17 小时前
lecen:一个更好的开源可视化系统搭建项目--动态绑定、操作快捷键--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
低代码·快捷键·数据绑定·动态数据·动态绑定·页面可视化·页面设计器
无代码专家17 小时前
制造业生产管理数字化转型:软件赋能全流程精益管控
低代码·制造
启扶农2 天前
lecen:一个更好的开源可视化系统搭建项目--全局对象使用--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
低代码·数据访问·页面可视化·页面设计器·全局对象·公共属性·工具方法
启扶农2 天前
lecen:一个更好的开源可视化系统搭建项目--数据、请求、寄连对象使用--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
低代码·数据对象·数据访问·页面可视化·页面设计器·请求对象·寄连对象
流之云低代码平台2 天前
提升PHP开发效率与质量的关键:工作流优化
低代码·php工作流优化方法·php代码优化·php开发流程优化·tpflow工作流引擎应用·gadmin企业级开发平台优势·软件开发速度提升
#六脉神剑3 天前
用myBuilder搭建企业级数字化业务系统架构
低代码·系统架构·低代码开发平台·数字化工具·mybuilder
晴虹3 天前
lecen:一个更好的开源可视化系统搭建项目--数据、请求、寄连对象使用--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
前端·后端·低代码
流之云低代码平台3 天前
PHP工作流优化:让软件开发如虎添翼
低代码·php工作流优化方法·php工作流优化案例·php代码复用·php模块化开发·php自动化测试·php性能优化
启扶农4 天前
lecen:一个更好的开源可视化系统搭建项目--组件和功能按钮的权限控制--全低代码|所见即所得|利用可视化设计器构建你的应用系统-做一个懂你的人
低代码·权限控制·页面可视化·页面设计器·数据控制·组件控制·功能控制