一个可以兼容各种数据库事务的使用范例

一个可以兼容各种数据库事务的使用范例

传入实体执行(可添加 修改 删除)事务。

                    IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection"));
                    bool result = true;
                    try
                    {
                         dbHelper.BeginTransaction();
              //主表
                         TE_AREAManager manager = new TE_AREAManager(dbHelper, userInfo);
                         TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
                         manager.Delete(tE_AREAEntity);
             //子表
                         TE_AREA_SUBManager submanager = new TE_AREA_SUBManager(dbHelper, userInfo);
                         TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
                         submanager.Delete(tE_AREA_SUBEntity);
             //事务提交 
                         dbHelper.CommitTransaction();
                    }
                    catch(Exception ex)
                    {
             //事务回滚
                        dbHelper.RollbackTransaction();
                        result=false;
                    }

可以传入sql语句执行事务

IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection"));
                    bool result = true;
                    try
                    {
                         dbHelper.BeginTransaction();
                         string   commandText = " DELETE FROM TE_AREA WHERE ID=" + dbHelper.SqlSafe(id);
                         dbHelper.ExecuteNonQuery(sqlString);

                         commandText = " DELETE FROM TE_AREA_SUB WHERE ID=" + dbHelper.SqlSafe(id);
                         dbHelper.ExecuteNonQuery(commandText);

                         dbHelper.CommitTransaction();
                    }
                    catch(Exception ex)
                    {
                        dbHelper.RollbackTransaction();
                        result=false;
                    }

 还可以同时传入实体,SQL语句

 IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection"));
                    bool result = true;
                    try
                    {
                         dbHelper.BeginTransaction();
               //主表
                         TE_AREAManager manager = new TE_AREAManager(dbHelper, userInfo);
                         TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
                         manager.Delete(tE_AREAEntity);
               //子表
                         TE_AREA_SUBManager submanager = new TE_AREA_SUBManager(dbHelper, userInfo);
                         TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID));
                         submanager.Delete(tE_AREA_SUBEntity);
               
               //执行SQL语句
               string commandText = " DELETE FROM JINTIANDA WHERE ID=" + dbHelper.SqlSafe(id);
               dbHelper.ExecuteNonQuery(commandText);

               //事务提交 
                         dbHelper.CommitTransaction();
                    }
                    catch(Exception ex)
                    {
              //事务回滚
                        dbHelper.RollbackTransaction();
                        result=false;
                    }

 
以上事务处理方法是基于吉日嘎拉通用权限管理组件底层的代码上实现的,dbHelper,兼容各种数据库事务处理,非常省心省事。

欢迎大家提供自己的使用经验,共同提高开发效率。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109843.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机存储单元[通俗易懂]

    计算机存储单元[通俗易懂]计算机存储单元

    2022年4月22日
    35
  • 国内常用DNS「建议收藏」

    国内常用DNS「建议收藏」//DNS1:114.114.114.114国内移动,电信,联通通用DNS//DNS2:223.5.5.5阿里//DNS3:223.6.6.6阿里//DNS4:180.76.76.76百度

    2025年9月26日
    4
  • webstorm下载插件_webpack 插件

    webstorm下载插件_webpack 插件2016年整理了一下自己常用的webstorm插件:webstorm常用插件集合不过毕竟现在已经2020年了,常用的插件已经发生了一些变化,重新整理一下。

    2025年10月16日
    3
  • leetcode-33搜索旋转排序数组(二分)[通俗易懂]

    leetcode-33搜索旋转排序数组(二分)[通俗易懂]整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums 和一个整数 ta

    2022年8月8日
    7
  • Javascript的DOM操作

    Javascript的DOM操作

    2021年11月17日
    60
  • 图形推理1000题pdf_2019和平区一模24题解析

    图形推理1000题pdf_2019和平区一模24题解析2019和平区数学一模24题解析推理与论证是在探索图形性质、与他人合作交流等活动过程中,发展合情推理,进一步学习有条理的思考与表达;数学推理的内涵是从数和形的角度进行合情推理和演绎推理,是对归纳类比的发展,判断和证明的过程。和平区数学一模试卷24题第(1)问在正方形中利用全等证明线段相等,考察几何问题的推理论证,推理探究。思考的角度不同,方法各异,但殊途同归,考察学生的逻辑推理论证,书写…

    2025年10月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号