Example #1
0
 public void SetAutoCommit(OleDbConnection connection, bool boolean)
 {
     if (this[connection] != null)
     {
         SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties connectionProperties = (SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties) this[connection];
         connectionProperties.AutoCommit = boolean;
         if (!boolean)
         {
             OleDbTransaction oleDbTransaction = connectionProperties.Transaction;
             if (connectionProperties.TransactionLevel == (IsolationLevel)0)
             {
                 oleDbTransaction = connection.BeginTransaction();
             }
             else
             {
                 oleDbTransaction = connection.BeginTransaction(connectionProperties.TransactionLevel);
             }
         }
     }
     else
     {
         SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties connectionProperties2 = new SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties();
         connectionProperties2.AutoCommit       = boolean;
         connectionProperties2.TransactionLevel = (IsolationLevel)0;
         if (boolean)
         {
             connectionProperties2.Transaction = connection.BeginTransaction();
         }
         this.Add(connection, connectionProperties2);
     }
 }
Example #2
0
                public int GetTransactionIsolation(OleDbConnection connection)
                {
                    int result;

                    if (this[connection] != null)
                    {
                        SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties connectionProperties = (SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties) this[connection];
                        if (connectionProperties.TransactionLevel != (IsolationLevel)0)
                        {
                            result = (int)connectionProperties.TransactionLevel;
                        }
                        else
                        {
                            result = 2;
                        }
                    }
                    else
                    {
                        result = 2;
                    }
                    return(result);
                }
Example #3
0
                public OleDbCommand CreateStatement(OleDbConnection connection)
                {
                    OleDbCommand oleDbCommand = connection.CreateCommand();

                    if (this[connection] != null)
                    {
                        SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties connectionProperties = (SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties) this[connection];
                        OleDbTransaction transaction = connectionProperties.Transaction;
                        oleDbCommand.Transaction = transaction;
                    }
                    else
                    {
                        SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties connectionProperties2 = new SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties();
                        connectionProperties2.AutoCommit       = false;
                        connectionProperties2.TransactionLevel = (IsolationLevel)0;
                        oleDbCommand.Transaction = connectionProperties2.Transaction;
                        this.Add(connection, connectionProperties2);
                    }
                    return(oleDbCommand);
                }
Example #4
0
 public void SetTransactionIsolation(OleDbConnection connection, int level)
 {
     if (this[connection] != null)
     {
         SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties connectionProperties = (SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties) this[connection];
         connectionProperties.TransactionLevel = (IsolationLevel)level;
     }
     else
     {
         this.Add(connection, new SupportClass.TransactionManager.ConnectionHashTable.ConnectionProperties
         {
             AutoCommit       = false,
             TransactionLevel = (IsolationLevel)level
         });
     }
 }