Exemple #1
0
 public int UpdateDataSet(
     DataSet dataSet,
     string tableName,
     DbCommand insertCommand,
     DbCommand updateCommand,
     DbCommand deleteCommand,
     UpdateBehavior updateBehavior,
     int?updateBatchSize)
 {
     using (DatabaseConnectionWrapper openConnection = this.GetOpenConnection())
     {
         if (updateBehavior == UpdateBehavior.Transactional && Transaction.Current == (Transaction)null)
         {
             DbTransaction transaction = Database.BeginTransaction(openConnection.Connection);
             try
             {
                 int num = this.UpdateDataSet(dataSet, tableName, insertCommand, updateCommand, deleteCommand, transaction, updateBatchSize);
                 Database.CommitTransaction((IDbTransaction)transaction);
                 return(num);
             }
             catch
             {
                 Database.RollbackTransaction((IDbTransaction)transaction);
                 throw;
             }
         }
         else
         {
             if (insertCommand != null)
             {
                 Database.PrepareCommand(insertCommand, openConnection.Connection);
             }
             if (updateCommand != null)
             {
                 Database.PrepareCommand(updateCommand, openConnection.Connection);
             }
             if (deleteCommand != null)
             {
                 Database.PrepareCommand(deleteCommand, openConnection.Connection);
             }
             return(this.DoUpdateDataSet(updateBehavior, dataSet, tableName, (IDbCommand)insertCommand, (IDbCommand)updateCommand, (IDbCommand)deleteCommand, updateBatchSize));
         }
     }
 }