一个可以兼容各种数据库事务的使用范例
2014-04-23 09:51
453 查看
传入实体执行(可添加 修改 删除)事务。
可以传入sql语句执行事务
还可以同时传入实体,SQL语句
以上事务处理方法是基于吉日嘎拉通用权限管理组件底层的代码上实现的,dbHelper,兼容各种数据库事务处理,非常省心省事。
欢迎大家提供自己的使用经验,共同提高开发效率。
IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection")); bool result = true; try { dbHelper.BeginTransaction(); //主表 TE_AREAManager manager = new TE_AREAManager(dbHelper, userInfo); TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID)); manager.Delete(tE_AREAEntity); //子表 TE_AREA_SUBManager submanager = new TE_AREA_SUBManager(dbHelper, userInfo); TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID)); submanager.Delete(tE_AREA_SUBEntity); //事务提交 dbHelper.CommitTransaction(); } catch(Exception ex) { //事务回滚 dbHelper.RollbackTransaction(); result=false; }
可以传入sql语句执行事务
IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection")); bool result = true; try { dbHelper.BeginTransaction(); string commandText = " DELETE FROM TE_AREA WHERE ID=" + dbHelper.SqlSafe(id); dbHelper.ExecuteNonQuery(sqlString); commandText = " DELETE FROM TE_AREA_SUB WHERE ID=" + dbHelper.SqlSafe(id); dbHelper.ExecuteNonQuery(commandText); dbHelper.CommitTransaction(); } catch(Exception ex) { dbHelper.RollbackTransaction(); result=false; }
还可以同时传入实体,SQL语句
IDbHelper dbHelper = new OracleHelper(ConfigHelper.GetConfigString("BusinessDbConnection")); bool result = true; try { dbHelper.BeginTransaction(); //主表 TE_AREAManager manager = new TE_AREAManager(dbHelper, userInfo); TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID)); manager.Delete(tE_AREAEntity); //子表 TE_AREA_SUBManager submanager = new TE_AREA_SUBManager(dbHelper, userInfo); TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID)); submanager.Delete(tE_AREA_SUBEntity); //执行SQL语句 string commandText = " DELETE FROM JINTIANDA WHERE ID=" + dbHelper.SqlSafe(id); dbHelper.ExecuteNonQuery(commandText); //事务提交 dbHelper.CommitTransaction(); } catch(Exception ex) { //事务回滚 dbHelper.RollbackTransaction(); result=false; }
以上事务处理方法是基于吉日嘎拉通用权限管理组件底层的代码上实现的,dbHelper,兼容各种数据库事务处理,非常省心省事。
欢迎大家提供自己的使用经验,共同提高开发效率。
相关文章推荐
- RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考
- RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考
- RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考 推荐
- SQLite for uClinux(一个可以在嵌入式系统中使用的小型数据库)
- JavaWeb一个完整的Servlet上传Excel表格使用poi解析至数据库实现(兼容2003,2007)。
- 终于找到一个方法可以使用EF的时候动态指定数据库路径了
- 继上一个三级联动的补充--使用jQuery编写各种浏览器兼容简易项目
- 水晶报表使用CDO可以在内存中建立一个临时数据库,类似于VB的那个DataSet
- 继上一个三级联动的补充--使用jQuery编写各种浏览器兼容简易项目
- 继上一个三级联动的补充--使用jQuery编写各种浏览器兼容简易项目
- 从数据库各种定义中找一个关键字的使用位置
- 可以在mono下运行的一个ajax web小程序,使用PostgreSQL作为数据库(期待MonoDevelop 2.0)
- [原创]一个可以操作多数据库服务器的事务方法
- 【android学习】_如何创建一个android下可以使用的数据库
- 数据库事务使用范例
- 使用db link 把ORACLE 数据库中的表复制到另外一个数据库,也可以把表中的数据从一个库复制到另外一个库的表
- android 各种Span使用得当可以用Edittext做一个文本编辑器
- FMDB性能优化问题。使用FMDB事务批量更新数据库速度问题。(亲测可以呀---740条数据用和不用事务效率差别20倍+)
- merge into 在各种数据库中多可以使用
- ubuntu16.04安装soci(一个可以封装访问oracle、mysql和postgresql等各种数据库的包)