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 OdbcConnection.BeginTransaction (IsolationLevel)

 

Data di pubblicazione: ottobre 2016

Avvia una transazione all'origine dati con l'oggetto specificato IsolationLevel valore.

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

public OdbcTransaction BeginTransaction(
	IsolationLevel isolevel
)

Parametri

isolevel
Type: System.Data.IsolationLevel

Il livello di isolamento della transazione per questa connessione. Se non si specifica un livello di isolamento, viene utilizzato il livello di isolamento predefinito per il driver.

Valore restituito

Type: System.Data.Odbc.OdbcTransaction

Oggetto che rappresenta la nuova transazione.

Exception Condition
InvalidOperationException

Una transazione è attiva. Le transazioni parallele non sono supportate.

Per eseguire il commit o il rollback della transazione, è necessario utilizzare in modo esplicito il Commit o Rollback metodi.

Per assicurarsi che il Provider di dati .NET Framework per il modello di gestione delle transazioni ODBC venga eseguito correttamente, evitare di utilizzare altri modelli di gestione delle transazioni, ad esempio quelle fornite dall'origine dati.

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

public static void ExecuteTransaction(string connectionString)
{
    using (OdbcConnection connection =
               new OdbcConnection(connectionString))
    {
        OdbcCommand command = new OdbcCommand();
        OdbcTransaction transaction = null;

        // Set the Connection to the new OdbcConnection.
        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: