Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo OleDbConnection.BeginTransaction (IsolationLevel)

 

Data di pubblicazione: ottobre 2016

Inizia una transazione di database con il livello di isolamento specificato.

Spazio dei nomi:   System.Data.OleDb
Assembly:  System.Data (in System.Data.dll)

public OleDbTransaction BeginTransaction(
	IsolationLevel isolationLevel
)

Parametri

isolationLevel
Type: System.Data.IsolationLevel

Livello di isolamento in cui eseguire la transazione.

Valore restituito

Type: System.Data.OleDb.OleDbTransaction

Oggetto che rappresenta la nuova transazione.

Exception Condition
InvalidOperationException

Le transazioni parallele non sono supportate.

È necessario eseguire il commit o rollback della transazione utilizzando in modo esplicito il Commit o Rollback (metodo). Per assicurarsi che il Provider di dati .NET Framework per il modello di gestione delle transazioni di OLE DB venga eseguito correttamente, evitare di utilizzare altri modelli di gestione delle transazioni, ad esempio quelle fornite dall'origine dati.

System_CAPS_noteNota

Se non si specifica un livello di isolamento, viene utilizzato il livello di isolamento predefinito per il provider sottostante. Per specificare un livello di isolamento con il BeginTransaction (metodo), utilizzare l'overload che accetta il isolationLevel parametro.

Nell'esempio seguente viene creato un OleDbConnection e OleDbTransaction. Viene inoltre illustrato come utilizzare il BeginTransaction, Commit, e Rollback metodi.

public void ExecuteTransaction(string connectionString)
{
    using (OleDbConnection connection =
               new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand();
        OleDbTransaction transaction = null;

        // Set the Connection to the new OleDbConnection.
        command.Connection = connection;

        // Open the connection and execute the transaction.
        try
        {
            connection.Open();

            // Start a local transaction
            transaction = connection.BeginTransaction();

            // Assign transaction object for a pending local transaction.
            command.Connection = connection;
            command.Transaction = transaction;

            // Execute the commands.
            command.CommandText =
                "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";
            command.ExecuteNonQuery();
            command.CommandText =
                "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";
            command.ExecuteNonQuery();

            // Commit the transaction.
            transaction.Commit();
            Console.WriteLine("Both records are written to database.");
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            try
            {
                // Attempt to roll back the transaction.
                transaction.Rollback();
            }
            catch
            {
                // Do nothing here; transaction is not active.
            }
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: