一個可以兼容各種數據庫事務的使用范例
傳入實體執行(可添加 修改 刪除)事務。
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,兼容各種數據庫事務處理,非常省心省事。
歡迎大家提供自己的使用經驗,共同提高開發效率。
posted on 2014-04-29 11:08 順其自然EVO 閱讀(156) 評論(0) 編輯 收藏 所屬分類: 數據庫