using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.BusinessDbType, BaseSystemInfo.BusinessDbConnection)) { try { // 开启事务 IDbTransaction tran = dbHelper.BeginTransaction(); sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginUpdate("CUSTOMER_GLOBAL"); SetCustomerGlobalObject(sqlBuilder, dr); sqlBuilder.SetWhere("ID", id); resultSQL = sqlBuilder.EndUpdate(); if (resultSQL == 0) { sqlBuilder = new SQLBuilder(dbHelper, false, true); sqlBuilder.BeginInsert("CUSTOMER_GLOBAL"); sqlBuilder.SetValue("ID", id); SetCustomerGlobalObject(sqlBuilder, dr); resultSQL =sqlBuilder.EndInsert (); isAdd = to true ; } // other transactions batch processing tran.Connection IBatcherHelperService Batcher = dbHelper.GetService <IBatcherHelperService> (); batcher.Insert (dataExtension, 1000 , tran.Connection); // commit the transaction dbHelper.CommitTransaction (); } the catch (Exception EX) { // rollback transaction dbHelper.RollbackTransaction (); } the finally { }