private void sqlCeTest_PreOperation(object sender, OperationEventArgs args) { _preOperationCalled = true; }
public void PerformDbOperation(DbOperationFlag dbOperationFlag) { checkInitialized(); if (dbOperationFlag == DbOperationFlag.None) { return; } IDbCommandBuilder dbCommandBuilder = GetDbCommandBuilder(); IDbOperation dbOperation = GetDbOperation(); IDbTransaction dbTransaction = null; IDbConnection dbConnection = dbCommandBuilder.Connection; try { if (dbConnection.State != ConnectionState.Open) { dbConnection.Open(); } dbTransaction = dbConnection.BeginTransaction(); OperationEventArgs args = new OperationEventArgs(); args.DbTransaction = dbTransaction; if (null != PreOperation) { PreOperation(this, args); } switch (dbOperationFlag) { case DbOperationFlag.Insert: { dbOperation.Insert(_dataSet, dbCommandBuilder, dbTransaction); break; } //case DbOperationFlag.InsertIdentity: // { // dbOperation.InsertIdentity(_dataSet, dbCommandBuilder, dbTransaction); // break; // } //case DbOperationFlag.Delete: // { // dbOperation.Delete(_dataSet, dbCommandBuilder, dbTransaction); // break; // } case DbOperationFlag.DeleteAll: { dbOperation.DeleteAll(_dataSet, dbCommandBuilder, dbTransaction); break; } //case DbOperationFlag.Refresh: // { // dbOperation.Refresh(_dataSet, dbCommandBuilder, dbTransaction); // break; // } //case DbOperationFlag.Update: // { // dbOperation.Update(_dataSet, dbCommandBuilder, dbTransaction); // break; // } //case DbOperationFlag.CleanInsert: // { // dbOperation.DeleteAll(_dataSet, dbCommandBuilder, dbTransaction); // dbOperation.Insert(_dataSet, dbCommandBuilder, dbTransaction); // break; // } //case DbOperationFlag.CleanInsertIdentity: // { // dbOperation.DeleteAll(_dataSet, dbCommandBuilder, dbTransaction); // dbOperation.InsertIdentity(_dataSet, dbCommandBuilder, dbTransaction); // break; // } } if (null != PostOperation) { PostOperation(this, args); } dbTransaction.Commit(); } catch (Exception) { if (dbTransaction != null) { dbTransaction.Rollback(); } throw; } finally { if (dbTransaction != null) { dbTransaction.Dispose(); } //only close and release the connection if not externally-managed if (!ConnectionManager.HasExternallyManagedConnection) { if (ConnectionState.Open == dbConnection.State) { dbConnection.Close(); } ConnectionManager.ReleaseConnection(); } } }
public void PerformDbOperation(DbOperationFlag dbOperationFlag) { checkInitialized(); if (dbOperationFlag == DbOperationFlag.None) { return; } IDbCommandBuilder dbCommandBuilder = GetDbCommandBuilder(); IDbOperation dbOperation = GetDbOperation(); IDbTransaction dbTransaction = null; IDbConnection dbConnection = dbCommandBuilder.Connection; try { if (dbConnection.State != ConnectionState.Open) { dbConnection.Open(); } dbTransaction = dbConnection.BeginTransaction(); OperationEventArgs args = new OperationEventArgs(); args.DbTransaction = dbTransaction; if (null != PreOperation) { PreOperation(this, args); } switch (dbOperationFlag) { case DbOperationFlag.Insert: { dbOperation.Insert(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.InsertIdentity: { dbOperation.InsertIdentity(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.Delete: { dbOperation.Delete(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.DeleteAll: { dbOperation.DeleteAll(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.Refresh: { dbOperation.Refresh(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.Update: { dbOperation.Update(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.CleanInsert: { dbOperation.DeleteAll(_dataSet, dbCommandBuilder, dbTransaction); dbOperation.Insert(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.CleanInsertIdentity: { dbOperation.DeleteAll(_dataSet, dbCommandBuilder, dbTransaction); dbOperation.InsertIdentity(_dataSet, dbCommandBuilder, dbTransaction); break; } } if (null != PostOperation) { PostOperation(this, args); } dbTransaction.Commit(); } catch (Exception) { if (dbTransaction != null) { dbTransaction.Rollback(); } throw; } finally { if (!_passedconnection) { if (ConnectionState.Open == dbConnection.State) { dbConnection.Close(); } } } }
public void PerformDbOperation(DbOperationFlag dbOperationFlag) { checkInitialized(); if (dbOperationFlag == DbOperationFlag.None) { return; } IDbCommandBuilder dbCommandBuilder = GetDbCommandBuilder(); IDbOperation dbOperation = GetDbOperation(); DbTransaction dbTransaction = null; DbConnection dbConnection = dbCommandBuilder.Connection; using (new OpenConnectionGuard(dbConnection, ConnectionManager.HasExternallyManagedConnection)) { try { dbTransaction = dbConnection.BeginTransaction(); OperationEventArgs args = new OperationEventArgs(); args.DbTransaction = dbTransaction; if (null != PreOperation) { PreOperation(this, args); } switch (dbOperationFlag) { case DbOperationFlag.Insert: { dbOperation.Insert(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.InsertIdentity: { dbOperation.InsertIdentity(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.Delete: { dbOperation.Delete(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.DeleteAll: { dbOperation.DeleteAll(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.Refresh: { dbOperation.Refresh(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.Update: { dbOperation.Update(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.CleanInsert: { dbOperation.DeleteAll(_dataSet, dbCommandBuilder, dbTransaction); dbOperation.Insert(_dataSet, dbCommandBuilder, dbTransaction); break; } case DbOperationFlag.CleanInsertIdentity: { dbOperation.DeleteAll(_dataSet, dbCommandBuilder, dbTransaction); dbOperation.InsertIdentity(_dataSet, dbCommandBuilder, dbTransaction); break; } } if (null != PostOperation) { PostOperation(this, args); } dbTransaction.Commit(); } catch (Exception) { if (dbTransaction != null) { dbTransaction.Rollback(); } throw; } finally { if (dbTransaction != null) { dbTransaction.Dispose(); } } } }