OdbcTransaction Classe

Definizione

Rappresenta una transazione SQL da eseguire in un'origine dati. La 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à
OdbcTransaction
Ereditarietà
Ereditarietà
OdbcTransaction
Implementazioni

Esempio

Nell'esempio seguente viene creato un oggetto OdbcConnection e un oggetto OdbcTransaction. Viene inoltre illustrato come usare i BeginTransactionmetodi , 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 OdbcTransaction oggetto chiamando BeginTransaction sull'oggetto OdbcConnection . Tutte le operazioni successive associate alla transazione ( ad esempio, il commit o l'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 l'oggetto 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) nonché le relative controparti sincrone dovrebbero generare NotSupportedException.

(Ereditato da DbTransaction)

Metodi

Commit()

Esegue il commit della transazione di database.

CommitAsync(CancellationToken)

Esegue il commit della transazione di database in modo asincrono.

(Ereditato da DbTransaction)
CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia le risorse non gestite utilizzate dall'oggetto DbTransaction.

(Ereditato da DbTransaction)
Dispose(Boolean)

Rilascia le risorse non gestite usate da DbTransaction e, facoltativamente, le risorse gestite.

(Ereditato da DbTransaction)
DisposeAsync()

Elimina 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.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetType()

Ottiene l'oggetto 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 dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
Release(String)

Elimina definitivamente un punto di salvataggio definito nella transazione corrente. In questo modo il sistema può recuperare alcune risorse prima che la transazione termini.

(Ereditato da DbTransaction)
ReleaseAsync(String, CancellationToken)

Elimina definitivamente un punto di salvataggio definito nella transazione corrente. In questo modo il sistema può recuperare alcune risorse prima che la transazione termini.

(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 che è stato stabilito il punto di salvataggio specificato.

(Ereditato da DbTransaction)
RollbackAsync(CancellationToken)

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

(Ereditato da DbTransaction)
RollbackAsync(String, CancellationToken)

Esegue il rollback di tutti i comandi eseguiti dopo che è stato stabilito il 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.

Si applica a

Vedi anche