Condividi tramite


OdbcTransaction Classe

Definizione

Rappresenta una transazione SQL da eseguire in un'origine dati. Questa classe non può essere ereditata.

public ref class OdbcTransaction sealed : System::Data::Common::DbTransaction
public ref class OdbcTransaction sealed : MarshalByRefObject, IDisposable, System::Data::IDbTransaction
public sealed class OdbcTransaction : System.Data.Common.DbTransaction
public sealed class OdbcTransaction : MarshalByRefObject, IDisposable, System.Data.IDbTransaction
type OdbcTransaction = class
    inherit DbTransaction
type OdbcTransaction = class
    inherit MarshalByRefObject
    interface IDbTransaction
    interface IDisposable
Public NotInheritable Class OdbcTransaction
Inherits DbTransaction
Public NotInheritable Class OdbcTransaction
Inherits MarshalByRefObject
Implements IDbTransaction, IDisposable
Ereditarietà
Ereditarietà
OdbcTransaction
Implementazioni

Esempio

Nell'esempio seguente vengono creati un OdbcConnection e un OdbcTransaction. Viene inoltre illustrato come usare i metodi BeginTransaction, Commite Rollback .

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.
    }
}
Public Sub ExecuteTransaction(ByVal connectionString As String)

    Using connection As New OdbcConnection(connectionString)
        Dim command As New OdbcCommand()
        Dim transaction As OdbcTransaction

        ' 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 ex As Exception
            Console.WriteLine(ex.Message)
            ' Try to rollback the transaction
            Try
                transaction.Rollback()

            Catch
                ' Do nothing here; transaction is not active.
            End Try
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using
End Sub

Commenti

L'applicazione crea un oggetto OdbcTransaction chiamando BeginTransaction sull'oggetto OdbcConnection. Tutte le operazioni successive associate alla transazione , ad esempio commit o interruzione della transazione, vengono eseguite sull'oggetto OdbcTransaction.

Proprietà

Connection

Ottiene l'oggetto OdbcConnection associato alla transazione o null se la transazione non è più valida.

DbConnection

In caso di override in una classe derivata, ottiene l'oggetto DbConnection associato alla transazione.

(Ereditato da DbTransaction)
IsolationLevel

Specifica il IsolationLevel per questa transazione.

SupportsSavepoints

Ottiene un valore che indica se questa istanza di DbTransaction supporta i punti di salvataggio del database. Se false, i metodi SaveAsync(String, CancellationToken), RollbackAsync(String, CancellationToken) e ReleaseAsync(String, CancellationToken) e le relative controparti sincrone devono generare NotSupportedException.

(Ereditato da DbTransaction)

Metodi

Commit()

Esegue il commit della transazione di database.

CommitAsync(CancellationToken)

Esegue il commit asincrono della transazione di database.

(Ereditato da DbTransaction)
CreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia le risorse non gestite usate dal DbTransaction.

(Ereditato da DbTransaction)
Dispose(Boolean)

Rilascia le risorse non gestite usate dal DbTransaction e, facoltativamente, rilascia le risorse gestite.

(Ereditato da DbTransaction)
DisposeAsync()

Depose in modo asincrono l'oggetto transazione.

(Ereditato da DbTransaction)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
Release(String)

Elimina definitivamente un punto di salvataggio definito in precedenza nella transazione corrente. Ciò consente al sistema di recuperare alcune risorse prima del termine della transazione.

(Ereditato da DbTransaction)
ReleaseAsync(String, CancellationToken)

Elimina definitivamente un punto di salvataggio definito in precedenza nella transazione corrente. Ciò consente al sistema di recuperare alcune risorse prima del termine della transazione.

(Ereditato da DbTransaction)
Rollback()

Esegue il rollback di una transazione da uno stato in sospeso.

Rollback(String)

Esegue il rollback di tutti i comandi eseguiti dopo la creazione del punto di salvataggio specificato.

(Ereditato da DbTransaction)
RollbackAsync(CancellationToken)

Esegue il rollback asincrono di una transazione da uno stato in sospeso.

(Ereditato da DbTransaction)
RollbackAsync(String, CancellationToken)

Esegue il rollback di tutti i comandi eseguiti dopo la creazione del punto di salvataggio specificato.

(Ereditato da DbTransaction)
Save(String)

Crea un punto di salvataggio nella transazione. In questo modo è possibile eseguire il rollback di tutti i comandi eseguiti dopo che è stato stabilito il punto di salvataggio, ripristinando lo stato della transazione al momento del punto di salvataggio.

(Ereditato da DbTransaction)
SaveAsync(String, CancellationToken)

Crea un punto di salvataggio nella transazione. In questo modo è possibile eseguire il rollback di tutti i comandi eseguiti dopo che è stato stabilito il punto di salvataggio, ripristinando lo stato della transazione al momento del punto di salvataggio.

(Ereditato da DbTransaction)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IDbTransaction.Connection

Ottiene l'oggetto DbConnection associato alla transazione o un riferimento Null se la transazione non è più valida.

(Ereditato da DbTransaction)
IDisposable.Dispose()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Rilascia le risorse usate dall'istanza corrente della classe OdbcTransaction.

Metodi di estensione

ConfigureAwait(IAsyncDisposable, Boolean)

Configura il modo in cui verranno eseguite le attese nelle attività restituite da un oggetto eliminabile asincrono.

Si applica a

Vedi anche