RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考 推荐
2015-01-08 09:18
253 查看
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 出处: Email: 406590790@qq.com QQ 交流:406590790 平台博客:
关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。
相关文章推荐
- RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考
- RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考
- 一个可以兼容各种数据库事务的使用范例
- RDIFramework.NET(.NET快速信息化系统开发框架) Web版界面样例(可参考) 推荐
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-Web 推荐
- 实例演示如何使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-WinForm 推荐
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-WinForm
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-Web
- .Net FrameWork 4.0中使用EF向数据库插入数据报datatime2类型错误的解决办法
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架 - 5.3 数据库连接管理模块
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-Web
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布 推荐
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-WinForm部分 推荐
- RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充
- 使用.NET Framework中新的日期时间类型 推荐
- RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-WinForm
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.7 版本发布 推荐
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架 - 5.3 数据库连接管理模块
- ADO.NET Entity framework 中 实体的对应数据库中text类型的问题 (更新) :asp.net entity 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 3 ("@0"): 数据类型 0