`

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://www.cnblogs.com/huyong
QQ:406590790 
平台博客: 
http://blog.csdn.net/chinahuyong
http://www.cnblogs.com/huyong
关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。
如有问题或建议,请多多赐教!
本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。

 

1
10
分享到:
评论

相关推荐

    《ADO.net+VB.net数据库应用开发指南》范例及相关数据库

    《ADO.net+VB.net数据库应用开发指南》 作者: 章立民编著 出版日期: 2004年09月第1版 ---------------------------- 本书使用130个以上短小而实用的例子,引领您攻占ADO.NET的核心领域。 详细介绍ADO.NET的各个...

    vb.net数据库系统设计范例

    在数据库系统设计中,VB.NET结合ADO.NET(Microsoft的数据访问技术)可以实现与各种数据库(如SQL Server、Oracle、MySQL等)的交互。 在【简单成绩管理设计说明.doc】文档中,我们可能会找到关于系统需求分析、...

    ASP.NET 2.0与数据库连接范例

    在这个"ASP.NET 2.0与数据库连接范例"中,我们将探讨如何在ASP.NET 2.0环境中连接到数据库,特别是SQL Server 2005,以及如何使用Data Repeater控件展示数据。 首先,让我们了解ASP.NET 2.0中的数据库连接。在ASP...

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

    传入实体执行(可添加 修改 删除)事务。 IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString(BusinessDbConnection)); bool result = true; try { dbHelper.BeginTransaction(); //主表 ...

    ASP.NET2.0O数据库开发经典案例光盘

    ASP.NET2.0O数据库开发经典...适合作为ASP.NET 2.0/Visual c#2005/SQL Server 2005(SQLEXPRESS)用户以网站模式使用数据库开发管理信息系统时的参考书,也可供高等院校计算机和管理专业学生作为毕业设计范例参考。

    Visual Basic.NET2008控件使用范例详解(PDF)

    《Visual Basic.NET 2008控件使用范例详解》是一本专注于VB.NET编程实践的书籍,尤其在控件应用方面提供了丰富的实例和详细解释。这本书主要针对那些正在学习或已经使用Visual Basic.NET 2008进行软件开发的程序员,...

    Visual Basic.NET2008控件使用范例详解.part2.rar

    《Visual Basic.NET 2008控件使用范例详解》作者拥有10年的编程经验,通过近200个范例的典型应用,帮助读者透彻理解Visua1 Basic.NET 2008的控件及其应用。全书共分13章,分别介绍了可调节类控件、选择类控件、显示...

    asp.net程序开发范例宝典3 光盘资料

    《ASP.NET程序开发范例宝典3》光盘资料提供了丰富的学习资源,旨在帮助开发者深入理解和熟练掌握ASP.NET这一强大的Web应用程序开发框架。ASP.NET是微软.NET Framework的一部分,它允许开发人员构建功能丰富的、高...

    asp.net 范例宝典

    在这个压缩包中,我们很可能会找到关于ASP.NET编程的各种实例,包括但不限于页面交互、控件使用、数据库操作、用户验证、状态管理等多个方面的内容。 ASP.NET是微软公司推出的用于构建动态网站、Web应用程序和Web...

    .NET经典范例教程(周世雄编著)光盘

    首先,我们来讨论.NET框架,这是由微软开发的一个广泛使用的开发平台,用于构建各种类型的应用程序,如桌面应用、Web应用和服务。.NET框架提供了一种统一的编程环境,它包括公共语言运行时(CLR)和类库,这些类库为...

    Delphi数据库开发入门与范例解析

    《Delphi数据库开发入门与范例解析》是一本专注于教授如何使用Delphi进行数据库应用程序开发的书籍。Delphi,作为一款强大的Windows应用开发工具,以其高效的编译器和丰富的组件库,深受程序员喜爱。在数据库开发...

    VC#.NET范例,包含了数据库编程、网络等10多个方面的开发例子

    这些实例旨在帮助开发者深入理解C#语言和.NET框架的使用,提升实际项目开发能力。 ### 1. 数据库编程(ch6数据库编程) 在C#中进行数据库编程主要依赖于ADO.NET框架。这个章节可能包括了如何连接数据库(如SQL ...

    ASP.NET数据库项目案例导航

    ASP.NET+SQL数据库的项目 本套光盘包括各个章节内容: \chap01 提供了本书第一章范例源程序; \chap03 提供了本书第三章MMS系统范例源程序; \chap04 提供了本书第四章BMS系统范例源程序; \chap05 提供...

    VC 6.0 执行数据库事务的范例.rar

    在VC 6.0程序中执行数据库事务的一个范例,是一个数据库的高级应用例子,关于设置ADO控件,方法如下:  (1)在程序中选择ResourceView视图,打开“Dialog”节点下的“IDD_AFFAIR_DIALOG”对话框资源,右键单击ADO ...

    ado方式操作数据库封装类的使用范例

    本示例"ado方式操作数据库封装类的使用范例"主要展示了如何利用ADO.NET进行数据库操作,并且通过类的封装,使代码更加模块化和易于维护。 首先,ADO.NET是微软提供的一个数据库访问框架,它包括了DataSet、...

    VC#.NET范例

    【VC#.NET范例】是针对使用C#编程语言在Visual Studio .NET环境下进行软件开发的一系列示例代码集合。这些范例涵盖了广泛的开发领域,包括但不限于数据库编程和网络通信,为开发者提供了深入理解和实践C#特性的宝贵...

    ASP.net与数据库程序设计

    在结合数据库使用时,ASP.NET允许开发者轻松地访问和操作各种类型的数据存储,如SQL Server。 在本书中,重点讲解的是如何在ASP.NET环境中进行数据库程序设计,特别是与SQL Server的集成。SQL Server是微软推出的...

    ASp.net程序开发范例宝典

    《ASP.NET程序开发范例宝典》是一本深入实践的编程指南,主要针对使用ASP.NET技术进行Web应用程序开发的读者。这本书充分利用了Visual Studio 2005这一强大的开发工具,为读者提供了丰富的实例,旨在帮助读者从实践...

    c#分布式框架akka范例

    在这个"**c#分布式框架akka范例**"中,我们将深入探讨Akka.NET的核心概念和如何在.NET环境中利用它来构建分布式系统。 首先,**Actor模型**是一种并发计算模型,它通过消息传递来实现组件间的通信。在Actor模型中,...

Global site tag (gtag.js) - Google Analytics