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
}
相关推荐
中杯可乐多加冰6 小时前
数据分析案例详解:基于smardaten实现智慧交通运营指标数据分析展示
人工智能·低代码·数据分析·交通物流·智慧交通·无代码·大屏端
得帆云低代码11 小时前
低代码高频实践场景系列之一——EHS系统
低代码
信码由缰14 小时前
2024年低代码开发趋势报告
低代码
IOTOS17 小时前
uiotos页面嵌套无代码搭建-智慧运营平台
低代码·0代码·web组态·页面嵌套·uiotos
7***53342 天前
低代码开发中的工作流引擎,流程可视化
低代码
低代码布道师2 天前
医疗小程序05我的就诊卡
低代码·小程序
ZKNOW甄知科技3 天前
重构企业运维智慧:低代码 ITSM 知识管理平台的创新与实践
大数据·运维·人工智能·程序人生·低代码·重构·it
快乐非自愿3 天前
数智化时代:AI技术重构企业财务管理系统的底层逻辑与实践
大数据·人工智能·低代码
橙武低代码3 天前
业务流低代码平台:从理念到实战
android·低代码·ai编程
OpenTiny社区3 天前
救命!这个低代码工具太香了 ——TinyEngine 物料自动导入上手
前端·低代码·github