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

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

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

                    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,兼容各种数据库事务处理,非常省心省事。

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java 工厂的变形模拟的各种应用

    java 工厂的变形模拟的各种应用

  • dpkg命令的用法

    dpkg命令的用法dpkg命令的用法dpkg是Debianpackage的简写,为”Debian“操作系统专门开发的套件管理系统,用于软件的安装,更新和移除。所有源自"Debian"的Linux的发行版都使用dpkg,  例如"Ubuntu" 阅读目录 安装软件列出与该包先关联的文件显示包的版本移除软件(保留配置)移除软件(不保留配置)查找包的详细信息列出deb包的内容 安装软件命令:dpkg-i&…

  • 数据结构项目——二叉树实现

    数据结构项目——二叉树实现案例分析:写出下面二叉树的先、中、后序遍历输出的结果:注:先自己推算,然后用程序验算。先序遍历的结果:A F H D C B J G E I K中序遍历的结果:D H C F J B G A I E K后序遍历的结果:D C H J G B F I K E A代码如下:#include “pch.h”#include &…

  • Windows内核编程(二)-第一个内核程序

    Windows内核编程(二)-第一个内核程序第一个内核程序通过VisualStudio新建工程注意事项:大部分widnows驱动程序都是内核驱动(KernelDriver),所以本笔记不分”驱动程序”与”内核编程”,也不区分”内核模块”(KernelModule)、“驱动程序”(Driver)与”内核程序”,这些词汇统一指编译出的扩展名为”.sys”的可执行文件(并非强制扩展名为.sys),也不区分”应用层”与”用户态”。驱动分类:NT驱动最简单的驱动模型,不支持硬件特性WDM驱动在NT驱动的基础上引入的一套驱动模型,支持即

  • 【我的Android进阶之旅】解决重写onTouch事件提示的警告:onTouch should call View#performClick when a click is detected

    【我的Android进阶之旅】解决重写onTouch事件提示的警告:onTouch should call View#performClick when a click is detected一、问题描述当你对一个控件(例如ImageView)使用setOnTouchListener()或者是对你的自定义控件重写onTouchEvent方法时会出现这个警告,警告内容全文如下:MyImageOnTouchListener#onTouchshouldcallView#performClickwhenaclickisdetectedless…(Ctrl+F…

  • Android代码混淆失败

    Android代码混淆失败Readinginput… Readingprogramjar[/data/rdm/projects/7060/bin/proguard/original.jar] Readingprogramjar[/data/rdm/projects/7060/libs/android-support-v4.jar] Readinglibraryjar[/data/rdm/

发表回复

您的电子邮箱地址不会被公开。

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