欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

数据库事务使用范例

程序员文章站 2024-01-28 22:55:28
...

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

传入实体执行(可添加 修改 删除)事务。

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