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

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

 

  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;
        }

 

作者: EricHu 
出处:http://blog.csdn.net/chinahuyong  
Email:406590790@qq.com 
QQ交流:406590790 
QQ群:237326100 
框架博客:http://blog.csdn.net/chinahuyong 
               http://www.cnblogs.com/huyong
RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.Net框架部署方案。 
关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,在面向对象、面向服务以及数据库领域有一定的造诣。现主要从事基于 RDIFramework.NET 框架的技术开发、咨询工作,主要服务于金融、医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。 
如有问题或建议,请多多赐教! 
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。

RDIFramework.NET代码生成器集代码生成、各数据库对象文档生成、数据库常用管理于一身,是软件开发者快速开发的神器。代码的生成支持基于数据库与PowerDesign设计文件生成,为企业及个人开发者能快速生成常用代码与文档以达到快速开发,快速应用的目的,节省开发成本。 基于数据库的代码生成不仅可直接在生成器上做数据库Sql级的操作,如常用的表、视图、存储过程、函数的创建、查询、修改、删除、生成数据脚本、生成数据库设计文档、表设计文档、生成业务逻辑代码、生成Web、WinForm界面代码等。便捷的数据库管理功能,轻松操作数据库。完全不用打开数据库企业管理工具即可完成相应的数据库层面的操作,支持SQLSERVER、Oracle、MySql版本,其他类型数据库也在陆续支持中。 基于PowerDesigner设计文件的代码生成,是我们代码生成器独居的特色,开发人员不用关心是什么类型数据库,即可完美的生成项目代码。建议在开发过程中使用PowerDesigner设计工具完成数据库的建模,PD是非常优秀的数据库建模工具,熟练的使用该工具对系统的分析和设计有很大的帮助。可以用PowerDesigner做需求分析,各种模型之间的转换,设计完成还可自动把数据库生成出来。在设计阶段我们只需把精力集中在模型上。 --------------------------------------------------------------------------------------------------- 一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。 RDIFramework.NET官方网站:http://www.rdiframework.net/ RDIFramework.NET官方博客:http://blog.rdiframework.net/ 特别说明,框架相关的技术文章请以官方网站为准,欢迎大家收藏! RDIFramework.NET框架由海南国思软件科技有限公司专业团队长期打造、一直在更新、一直在升级,请放心使用! 欢迎关注RDIFramework.NET框架官方微信公众号(微信号:guosisoft),及时了解最新动态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值