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

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

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

                    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)
上一篇 2021年8月29日 上午10:00
下一篇 2021年8月29日 上午11:00


相关推荐

  • Exec 工具

    Exec 工具

    2026年3月15日
    4
  • jieba库的安装教程_利用jieba库进行txt分词

    jieba库的安装教程_利用jieba库进行txt分词jieba库jieba库的安装jieba库的基本介绍jieba库的使用jieba库的安装(cmd命令行)pipinstalljiebajieba库的基本介绍(1)jieba库概述jieba库是优秀的中文分词第三方库。中文文本需要通过分词获得单个的词语;jieba是优秀的中文分词第三方库,需要额外安装;jieba库提供三种分词模式,最简单只需掌握一个函数;(2)jieba…

    2026年2月8日
    5
  • android 学生模式,(续上篇)多亲AI助手——学生模式体验小记

    android 学生模式,(续上篇)多亲AI助手——学生模式体验小记(续上篇)多亲AI助手——学生模式体验小记2019-08-1811:02:5617点赞9收藏14评论朋友的多亲2,是过了好几手的。哦,原来不是他的,那上次半推半就借给我,是几个意思?寄走前,他允许我再摸摸。正好,本人还有几个疑问,需要验证。本篇体验,以问答形式撰写,没有废话,都是干货。网红遥控器值不值得买——多亲AI助手体验小记由来“多亲AI助手”到手,来自一位朋友,过两天还要还回去,并非全新,…

    2022年6月10日
    156
  • c语言的单片机编曲,要的就是强大……C语言编的《最炫民族风》(转)[通俗易懂]

    c语言的单片机编曲,要的就是强大……C语言编的《最炫民族风》(转)[通俗易懂]该楼层疑似违规已被系统折叠隐藏此楼查看此楼—————————————————————————————————-以下是读入的内容————《最炫民族风》:36,s6,s132s2ss3ss2s1s2s1s6,36,s6,s135s2…

    2025年11月12日
    7
  • 年度榜单:2026年最好的PC端桌面智能体助理有哪些?全解析

    年度榜单:2026年最好的PC端桌面智能体助理有哪些?全解析

    2026年3月16日
    2
  • 用Tagxedo制作文字云

    用Tagxedo制作文字云前两天发现了一个制作文字云的工具 Tagxedo 功能强大 可以对文字云的输入内容 形状 主题 字体等各种设置来达到想要的效果 而且支持中文 下面以一个例子来展示一下如何利用 tagxedo 制作文字云吧 1 输入网址 http www tagxedo com 注意 此网站需要代理访问 会看到如下的页面 nbsp 2 可以在右边浅紫色的区域对要制作的文字云先进行一些简单设置 我们在这里直

    2026年3月20日
    2

发表回复

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

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