首頁 >資料庫 >mysql教程 >数据库事务使用范例

数据库事务使用范例

WBOY
WBOY原創
2016-06-07 15:55:451110瀏覽

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

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

<code class="csharp plain">IDbHelper dbHelper = <code class="csharp keyword">new <code class="csharp plain">OracleHelper(ConfigHelper.GetConfigString(<code class="csharp string">"BusinessDbConnection"<code class="csharp plain">)); <code class="csharp spaces"> <code class="csharp keyword">bool <code class="csharp plain">result = <code class="csharp keyword">true<code class="csharp plain">; <code class="csharp spaces"> <code class="csharp keyword">try <code class="csharp spaces"> <code class="csharp plain">{ <code class="csharp spaces"> <code class="csharp plain">dbHelper.BeginTransaction(); <code class="csharp spaces"> <code class="csharp comments">//主表 <code class="csharp spaces"> <code class="csharp plain">TE_AREAManager manager = <code class="csharp keyword">new <code class="csharp plain">TE_AREAManager(dbHelper, userInfo); <code class="csharp spaces"> <code class="csharp plain">TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID)); <code class="csharp spaces"> <code class="csharp plain">manager.Delete(tE_AREAEntity); <code class="csharp comments">//子表 <code class="csharp spaces"> <code class="csharp plain">TE_AREA_SUBManager submanager = <code class="csharp keyword">new <code class="csharp plain">TE_AREA_SUBManager(dbHelper, userInfo); <code class="csharp spaces"> <code class="csharp plain">TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID)); <code class="csharp spaces"> <code class="csharp plain">submanager.Delete(tE_AREA_SUBEntity); <code class="csharp comments">//事务提交  <code class="csharp spaces"> <code class="csharp plain">dbHelper.CommitTransaction(); <code class="csharp spaces"> <code class="csharp plain">} <code class="csharp spaces"> <code class="csharp keyword">catch<code class="csharp plain">(Exception ex) <code class="csharp spaces"> <code class="csharp plain">{ <code class="csharp comments">//事务回滚 <code class="csharp spaces"> <code class="csharp plain">dbHelper.RollbackTransaction(); <code class="csharp spaces"> <code class="csharp plain">result=<code class="csharp keyword">false<code class="csharp plain">; <code class="csharp spaces"> <code class="csharp plain">} <code class="csharp plain"> <code class="csharp plain"><strong>可以传入sql语句执行事务</strong> <code class="csharp plain"> <code class="csharp plain">IDbHelper dbHelper = <code class="csharp keyword">new <code class="csharp plain">OracleHelper(ConfigHelper.GetConfigString(<code class="csharp string">"BusinessDbConnection"<code class="csharp plain">)); <code class="csharp spaces"> <code class="csharp keyword">bool <code class="csharp plain">result = <code class="csharp keyword">true<code class="csharp plain">; <code class="csharp spaces"> <code class="csharp keyword">try <code class="csharp spaces"> <code class="csharp plain">{ <code class="csharp spaces"> <code class="csharp plain">dbHelper.BeginTransaction(); <code class="csharp spaces"> <code class="csharp keyword">string <code class="csharp plain">commandText = <code class="csharp string">" DELETE FROM TE_AREA WHERE ID=" <code class="csharp plain">+ dbHelper.SqlSafe(id); <code class="csharp spaces"> <code class="csharp plain">dbHelper.ExecuteNonQuery(sqlString); <code class="csharp spaces"> <code class="csharp plain">commandText = <code class="csharp string">" DELETE FROM TE_AREA_SUB WHERE ID=" <code class="csharp plain">+ dbHelper.SqlSafe(id); <code class="csharp spaces"> <code class="csharp plain">dbHelper.ExecuteNonQuery(commandText); <code class="csharp spaces"> <code class="csharp plain">dbHelper.CommitTransaction(); <code class="csharp spaces"> <code class="csharp plain">} <code class="csharp spaces"> <code class="csharp keyword">catch<code class="csharp plain">(Exception ex) <code class="csharp spaces"> <code class="csharp plain">{ <code class="csharp spaces"> <code class="csharp plain">dbHelper.RollbackTransaction(); <code class="csharp spaces"> <code class="csharp plain">result=<code class="csharp keyword">false<code class="csharp plain">; <code class="csharp spaces"> <code class="csharp plain">} <code class="csharp plain"><strong> 还可以同时传入实体,SQL语句</strong> <code class="csharp plain"> <code class="csharp plain">IDbHelper dbHelper = <code class="csharp keyword">new <code class="csharp plain">OracleHelper(ConfigHelper.GetConfigString(<code class="csharp string">"BusinessDbConnection"<code class="csharp plain">)); <code class="csharp spaces"> <code class="csharp keyword">bool <code class="csharp plain">result = <code class="csharp keyword">true<code class="csharp plain">; <code class="csharp spaces"> <code class="csharp keyword">try <code class="csharp spaces"> <code class="csharp plain">{ <code class="csharp spaces"> <code class="csharp plain">dbHelper.BeginTransaction(); <code class="csharp plain">              <code class="csharp comments">//主表 <code class="csharp spaces"> <code class="csharp plain">TE_AREAManager manager = <code class="csharp keyword">new <code class="csharp plain">TE_AREAManager(dbHelper, userInfo); <code class="csharp spaces"> <code class="csharp plain">TE_AREAEntity tE_AREAEntity = manager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID)); <code class="csharp spaces"> <code class="csharp plain">manager.Delete(tE_AREAEntity); <code class="csharp plain">              <code class="csharp comments">//子表 <code class="csharp spaces"> <code class="csharp plain">TE_AREA_SUBManager submanager = <code class="csharp keyword">new <code class="csharp plain">TE_AREA_SUBManager(dbHelper, userInfo); <code class="csharp spaces"> <code class="csharp plain">TE_AREA_SUBEntity tE_AREA_SUBEntity = submanager.GetObject(dbHelper.SqlSafe(eatxtAREA_ID)); <code class="csharp spaces"> <code class="csharp plain">submanager.Delete(tE_AREA_SUBEntity); <code class="csharp plain">               <code class="csharp plain">              <code class="csharp comments">//执行SQL语句 <code class="csharp plain">              <code class="csharp keyword">string <code class="csharp plain">commandText = <code class="csharp string">" DELETE FROM JINTIANDA WHERE ID=" <code class="csharp plain">+ dbHelper.SqlSafe(id); <code class="csharp plain">              dbHelper.ExecuteNonQuery(commandText); <code class="csharp plain">              <code class="csharp comments">//事务提交  <code class="csharp spaces"> <code class="csharp plain">dbHelper.CommitTransaction(); <code class="csharp spaces"> <code class="csharp plain">} <code class="csharp spaces"> <code class="csharp keyword">catch<code class="csharp plain">(Exception ex) <code class="csharp spaces"> <code class="csharp plain">{ <code class="csharp plain">             <code class="csharp comments">//事务回滚 <code class="csharp spaces"> <code class="csharp plain">dbHelper.RollbackTransaction(); <code class="csharp spaces"> <code class="csharp plain">result=<code class="csharp keyword">false<code class="csharp plain">; <code class="csharp spaces"> <code class="csharp plain">}
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn