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 联系我,非常感谢。
相关推荐
《ADO.net+VB.net数据库应用开发指南》 作者: 章立民编著 出版日期: 2004年09月第1版 ---------------------------- 本书使用130个以上短小而实用的例子,引领您攻占ADO.NET的核心领域。 详细介绍ADO.NET的各个...
传入实体执行(可添加 修改 删除)事务。 IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString(BusinessDbConnection)); bool result = true; try { dbHelper.BeginTransaction(); //主表 ...
数据库课程设计报告范例(仅供参考) (2).pdf数据库课程设计报告范例(仅供参考) (2).pdf数据库课程设计报告范例(仅供参考) (2).pdf数据库课程设计报告范例(仅供参考) (2).pdf数据库课程设计报告范例(仅供参考) (2).pdf...
Visual Basic.NET2008控件使用范例详解,有大多数的控件详细介绍和示例代码哦!
vb.net数据库系统设计范例,这是一个基本的例子.在参考价值.
ASP.NET 2.0与数据库连接范例,如何试用Data repeater 给出如何在Web.config设置,连接SQL Server 2005
《Visual Basic.NET 2008控件使用范例详解》作者拥有10年的编程经验,通过近200个范例的典型应用,帮助读者透彻理解Visua1 Basic.NET 2008的控件及其应用。全书共分13章,分别介绍了可调节类控件、选择类控件、显示...
ASP.NET2.0O数据库开发经典...适合作为ASP.NET 2.0/Visual c#2005/SQL Server 2005(SQLEXPRESS)用户以网站模式使用数据库开发管理信息系统时的参考书,也可供高等院校计算机和管理专业学生作为毕业设计范例参考。
ASP.NET+SQL数据库的项目 本套光盘包括各个章节内容: \chap01 提供了本书第一章范例源程序; \chap03 提供了本书第三章MMS系统范例源程序; \chap04 提供了本书第四章BMS系统范例源程序; \chap05 提供...
数据库连接池的使用范例,还要修改tomcat下的config文件
在VC 6.0程序中执行数据库事务的一个范例,是一个数据库的高级应用例子,关于设置ADO控件,方法如下: (1)在程序中选择ResourceView视图,打开“Dialog”节点下的“IDD_AFFAIR_DIALOG”对话框资源,右键单击ADO ...
使用vs,让其与SQL SERVER2005连接,实现简单的数据库操作。范例式的代码。
ASP.NET3.5开发范例精讲精析C# 源码+数据库 网上不好找!! pdf的还在上传,一会写地址出来!!
本套光盘提供了“ASP.NET数据库项目案例导航”一书从第一章到第十一章各章实例的源程序文件以及数据库文件。读者需要安装Visual Studio .Net 2002以上版本才能将它们打开。推荐使用Visual Studio .Net 2003企业分析...
Delphi数据库开发入门与范例解析 很详细
第1章 可调节类控件 1.1 Datetimepicker控件 1.1.1 CalendarFont属性 ...第8章 .NET环境下组合类控件 第9章 打印类控件 第10章 对话框类控件 第11章 水晶报表控件 第12章 多媒体播放控件 第13章 自定义控件
asp.net程序开发范例宝典 光盘资料3
asp.net 范例宝典光盘原文件003
数据库课程设计报告范例1.docx数据库课程设计报告范例1.docx数据库课程设计报告范例1.docx数据库课程设计报告范例1.docx数据库课程设计报告范例1.docx数据库课程设计报告范例1.docx数据库课程设计报告范例1.docx...
vb.net写的BMP to AVI的范例 其中组件还是有的COM类型的