Freigeben über


OdbcTransaction Klasse

Definition

Stellt eine SQL-Transaktion dar, die an einer Datenquelle vorgenommen werden soll. Diese Klasse kann nicht geerbt werden.

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
Vererbung
Vererbung
OdbcTransaction
Implementiert

Beispiele

Im folgenden Beispiel wird ein OdbcConnection und ein OdbcTransactionerstellt. Außerdem wird die Verwendung der methoden BeginTransaction, Commitund Rollback veranschaulicht.

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

Hinweise

Die Anwendung erstellt ein OdbcTransaction-Objekt, indem BeginTransaction für das OdbcConnection-Objekt aufgerufen wird. Alle nachfolgenden Vorgänge, die der Transaktion zugeordnet sind (z. B. Commit oder Abbrechen der Transaktion), werden für das OdbcTransaction-Objekt ausgeführt.

Eigenschaften

Connection

Ruft das OdbcConnection Objekt ab, das der Transaktion zugeordnet ist, oder null, wenn die Transaktion nicht mehr gültig ist.

DbConnection

Wenn eine abgeleitete Klasse überschrieben wird, ruft das DbConnection Objekt ab, das der Transaktion zugeordnet ist.

(Geerbt von DbTransaction)
IsolationLevel

Gibt die IsolationLevel für diese Transaktion an.

SupportsSavepoints

Ruft einen Wert ab, der angibt, ob diese DbTransaction Instanz Datenbankspeicherpunkte unterstützt. Bei falsewerden die Methoden SaveAsync(String, CancellationToken), RollbackAsync(String, CancellationToken) und ReleaseAsync(String, CancellationToken) sowie deren synchrone Entsprechungen NotSupportedExceptionauslösen.

(Geerbt von DbTransaction)

Methoden

Commit()

Commits der Datenbanktransaktion.

CommitAsync(CancellationToken)

Führt asynchron einen Commit für die Datenbanktransaktion durch.

(Geerbt von DbTransaction)
CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt die nicht verwalteten Ressourcen frei, die vom DbTransactionverwendet werden.

(Geerbt von DbTransaction)
Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die vom DbTransaction verwendet werden, und gibt optional die verwalteten Ressourcen frei.

(Geerbt von DbTransaction)
DisposeAsync()

Diposes the transaction object asynchron.

(Geerbt von DbTransaction)
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
Release(String)

Zerstört einen zuvor in der aktuellen Transaktion definierten Speicherpunkt. Auf diese Weise kann das System einige Ressourcen zurückfordern, bevor die Transaktion endet.

(Geerbt von DbTransaction)
ReleaseAsync(String, CancellationToken)

Zerstört einen zuvor in der aktuellen Transaktion definierten Speicherpunkt. Auf diese Weise kann das System einige Ressourcen zurückfordern, bevor die Transaktion endet.

(Geerbt von DbTransaction)
Rollback()

Rollback einer Transaktion aus einem ausstehenden Zustand.

Rollback(String)

Setzt alle Befehle zurück, die nach dem Festlegen des angegebenen Speicherpunkts ausgeführt wurden.

(Geerbt von DbTransaction)
RollbackAsync(CancellationToken)

Führt asynchron ein Rollback einer Transaktion aus einem ausstehenden Zustand durch.

(Geerbt von DbTransaction)
RollbackAsync(String, CancellationToken)

Setzt alle Befehle zurück, die nach dem Festlegen des angegebenen Speicherpunkts ausgeführt wurden.

(Geerbt von DbTransaction)
Save(String)

Erstellt einen Speicherpunkt in der Transaktion. Dadurch können alle Befehle ausgeführt werden, die ausgeführt werden, nachdem der Speicherpunkt eingerichtet wurde, zurückgesetzt werden, wodurch der Transaktionsstatus zum Zeitpunkt des Speicherpunkts wiederhergestellt wird.

(Geerbt von DbTransaction)
SaveAsync(String, CancellationToken)

Erstellt einen Speicherpunkt in der Transaktion. Dadurch können alle Befehle ausgeführt werden, die ausgeführt werden, nachdem der Speicherpunkt eingerichtet wurde, zurückgesetzt werden, wodurch der Transaktionsstatus zum Zeitpunkt des Speicherpunkts wiederhergestellt wird.

(Geerbt von DbTransaction)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IDbTransaction.Connection

Ruft das DbConnection-Objekt ab, das der Transaktion zugeordnet ist, oder einen Nullverweis, wenn die Transaktion nicht mehr gültig ist.

(Geerbt von DbTransaction)
IDisposable.Dispose()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt die von der aktuellen Instanz der OdbcTransaction Klasse verwendeten Ressourcen frei.

Erweiterungsmethoden

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguriert, wie auf die von einem asynchronen Einweg zurückgegebenen Aufgaben gewartet wird.

Gilt für:

Weitere Informationen