美文网首页Asp.net开发RDIFramework.NET
RDIFramework.NET 框架兼容各种数据库类型事务使用

RDIFramework.NET 框架兼容各种数据库类型事务使用

作者: NET快速开发框架 | 来源:发表于2017-11-17 10:34 被阅读8次

RDIFramwork.NET框架对数据库的事务做了很好的控制,对多表或多条语句需要在同一事务执行提供了很好的支持,同时支持任意主流类型的数据库,下面的代码可以给用户做为参考。用户可以任意扩展使用。
  1、传入实体执行执行事务测试

private bool InEntityTransactionTest(string mainId,string detailId)
{
    //可以支持任意流行数据库类型,指定相关的数据库提供者即可(OracleProvider、SqlProvider、SqLiteProvider、MySqlProvider、DB2Provider、OleDbProvider)
    IDbProvider dbProvider = new OracleProvider(SystemInfo.BusinessDbConnectionString);
    bool result = true;
    try
    {
        dbProvider.BeginTransaction();
        //主表
        CASE_PRODUCTIN_MAINManager manager = new CASE_PRODUCTIN_MAINManager(dbProvider, Utils.UserInfo);
        CASE_PRODUCTIN_MAINEntity mainEntity = manager.GetEntity(dbProvider.SqlSafe(mainId));
        manager.Delete(mainEntity);
        //子表
        CASE_PRODUCTIN_DETAILManager detailManager = new CASE_PRODUCTIN_DETAILManager(dbProvider, Utils.UserInfo);
        CASE_PRODUCTIN_DETAILEntity detailEntity = detailManager.GetEntity(dbProvider.SqlSafe(detailId));
        detailManager.Delete(detailEntity);
        //事务提交 
        dbProvider.CommitTransaction();
    }
    catch (Exception ex)
    {
        //事务回滚
        dbProvider.RollbackTransaction();
        result = false;
    }
    return result;
}

2、传入Sql语句事务测试

private bool InSqlTransactionTest(string mainId, string detailId)
        {
            //可以支持任意流行数据库类型,指定相关的数据库提供者即可(OracleProvider、SqlProvider、SqLiteProvider、MySqlProvider、DB2Provider、OleDbProvider)

            IDbProvider dbProvider = new SqlProvider(SystemInfo.BusinessDbConnectionString);
            bool result = true;
            try
            {
                dbProvider.BeginTransaction();
                //主表
                string sqlMain = string.Format("DELETE FROM CASE_PRODUCTIN_MAIN WHERE ID = {0}", mainId);
                dbProvider.ExecuteNonQuery(sqlMain);
                //子表
                string sqlDetail = string.Format("DELETE FROM CASE_PRODUCTIN_DETAIL WHERE ID = {0}", detailId);
                dbProvider.ExecuteNonQuery(sqlMain);
                //事务提交 
                dbProvider.CommitTransaction();
            }
            catch (Exception ex)
            {
                //事务回滚
                dbProvider.RollbackTransaction();
                result = false;
            }
            return result;
        }

相关文章:

RDIFramework 平台代码生成器V3.2 发布版

RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录

RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍

一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。

  RDIFramework.net官方网站:http://www.rdiframework.net/

  RDIFramework.Net官方博客:http://blog.rdiframework.net/

  同时需要说明的,以后的所有技术文章以官方网站为准,欢迎大家收藏!

RDIFramework.NET框架由专业团队长期打造、一直在更新、一直在升级,请放心使用!

欢迎关注RDIFramework.net框架官方公众微信(微信号:rdiframework-net),及时了解最新动态。

扫描二维码立即关注


相关文章:

RDIFramework 平台代码生成器V3.2 发布版

RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录

RDIFramework.NET ━ .NET 快速信息化系统开发框架 ━ 工作流程组件介绍


一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。

  RDIFramework[.net](http://lib.csdn.net/base/dotnet)官方网站:[http://www.rdiframework.net/](http://www.rdiframework.net/)

  RDIFramework[.Net](http://lib.csdn.net/base/dotnet)官方博客:[http://blog.rdiframework.net/](http://blog.rdiframework.net/)

  同时需要说明的,以后的所有技术文章以官方网站为准,欢迎大家收藏!

RDIFramework.NET框架由专业团队长期打造、一直在更新、一直在升级,请放心使用!

欢迎关注RDIFramework.NET框架官方公众微信(微信号:guosisoft),及时了解最新动态。

扫描二维码立即关注


国思软件公众号二维码

相关文章

网友评论

    本文标题:RDIFramework.NET 框架兼容各种数据库类型事务使用

    本文链接:https://www.haomeiwen.com/subject/boidvxtx.html