Sdílet prostřednictvím


OdbcTransaction Třída

Definice

Představuje transakci SQL, která se má provést ve zdroji dat. Tuto třídu nelze zdědit.

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
Dědičnost
Dědičnost
OdbcTransaction
Implementuje

Příklady

Následující příklad vytvoří OdbcConnection a OdbcTransaction. Ukazuje také, jak používat metody BeginTransaction, Commita 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

Poznámky

Aplikace vytvoří objekt OdbcTransaction voláním BeginTransaction objektu OdbcConnection. Všechny následné operace přidružené k transakci (například potvrzení nebo přerušení transakce) jsou prováděny na OdbcTransaction objektu.

Vlastnosti

Connection

Získá OdbcConnection objekt přidružený k transakci, nebo null pokud transakce již není platná.

DbConnection

Při přepsání v odvozené třídě získá DbConnection objekt přidružený k transakci.

(Zděděno od DbTransaction)
IsolationLevel

Určuje IsolationLevel pro tuto transakci.

SupportsSavepoints

Získá hodnotu, která určuje, zda tato DbTransaction instance podporuje databázové savepointy. Pokud false, očekává se, že metody SaveAsync(String, CancellationToken), RollbackAsync(String, CancellationToken) a ReleaseAsync(String, CancellationToken) a jejich synchronní protějšky budou hodit NotSupportedException.

(Zděděno od DbTransaction)

Metody

Commit()

Potvrdí transakci databáze.

CommitAsync(CancellationToken)

Asynchronně potvrdí databázové transakce.

(Zděděno od DbTransaction)
CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Dispose()

Uvolní nespravované prostředky používané DbTransaction.

(Zděděno od DbTransaction)
Dispose(Boolean)

Uvolní nespravované prostředky používané DbTransaction a volitelně uvolní spravované prostředky.

(Zděděno od DbTransaction)
DisposeAsync()

Asynchronně distribuuje objekt transakce.

(Zděděno od DbTransaction)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního objektu MarshalByRefObject.

(Zděděno od MarshalByRefObject)
Release(String)

Zničí savepoint dříve definovaný v aktuální transakci. To umožňuje systému uvolnit některé prostředky před ukončením transakce.

(Zděděno od DbTransaction)
ReleaseAsync(String, CancellationToken)

Zničí savepoint dříve definovaný v aktuální transakci. To umožňuje systému uvolnit některé prostředky před ukončením transakce.

(Zděděno od DbTransaction)
Rollback()

Vrátí transakce z čekajícího stavu.

Rollback(String)

Vrátí zpět všechny příkazy, které byly provedeny po vytvoření zadaného bodu uložení.

(Zděděno od DbTransaction)
RollbackAsync(CancellationToken)

Asynchronně vrátí transakci z čekajícího stavu.

(Zděděno od DbTransaction)
RollbackAsync(String, CancellationToken)

Vrátí zpět všechny příkazy, které byly provedeny po vytvoření zadaného bodu uložení.

(Zděděno od DbTransaction)
Save(String)

Vytvoří bod uložení v transakci. To umožňuje, aby se všechny příkazy spouštěné po vytvoření savepointu vrátily zpět a obnovily stav transakce na to, co bylo v době uložení.

(Zděděno od DbTransaction)
SaveAsync(String, CancellationToken)

Vytvoří bod uložení v transakci. To umožňuje, aby se všechny příkazy spouštěné po vytvoření savepointu vrátily zpět a obnovily stav transakce na to, co bylo v době uložení.

(Zděděno od DbTransaction)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

IDbTransaction.Connection

Získá DbConnection objekt přidružený k transakci, nebo null odkaz, pokud transakce již není platná.

(Zděděno od DbTransaction)
IDisposable.Dispose()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Uvolní prostředky používané aktuální instancí třídy OdbcTransaction.

Metody rozšíření

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje, jak čekají na úlohy vrácené z asynchronního jednorázového použití.

Platí pro

Viz také