Compartilhar via


OdbcTransaction Classe

Definição

Representa uma transação SQL a ser feita em uma fonte de dados. Essa classe não pode ser herdada.

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
Herança
Herança
OdbcTransaction
Implementações

Exemplos

O exemplo a seguir cria um OdbcConnection e um OdbcTransaction. Ele também demonstra como usar os métodos 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

Comentários

O aplicativo cria um objeto OdbcTransaction chamando BeginTransaction no objeto OdbcConnection. Todas as operações subsequentes associadas à transação (por exemplo, confirmar ou anular a transação) são executadas no objeto OdbcTransaction.

Propriedades

Connection

Obtém o objeto OdbcConnection associado à transação ou null se a transação não for mais válida.

DbConnection

Quando substituído em uma classe derivada, obtém o objeto DbConnection associado à transação.

(Herdado de DbTransaction)
IsolationLevel

Especifica o IsolationLevel dessa transação.

SupportsSavepoints

Obtém um valor que indica se essa instância DbTransaction dá suporte a pontos de salvamento de banco de dados. Se false, os métodos SaveAsync(String, CancellationToken), RollbackAsync(String, CancellationToken) e ReleaseAsync(String, CancellationToken), bem como seus equivalentes síncronos, deverão gerar NotSupportedException.

(Herdado de DbTransaction)

Métodos

Commit()

Confirma a transação de banco de dados.

CommitAsync(CancellationToken)

Confirma de forma assíncrona a transação de banco de dados.

(Herdado de DbTransaction)
CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Libera os recursos não gerenciados usados pelo DbTransaction.

(Herdado de DbTransaction)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo DbTransaction e, opcionalmente, libera os recursos gerenciados.

(Herdado de DbTransaction)
DisposeAsync()

Mergulha de forma assíncrona o objeto de transação.

(Herdado de DbTransaction)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
Release(String)

Destrói um ponto de salvamento definido anteriormente na transação atual. Isso permite que o sistema recupere alguns recursos antes do término da transação.

(Herdado de DbTransaction)
ReleaseAsync(String, CancellationToken)

Destrói um ponto de salvamento definido anteriormente na transação atual. Isso permite que o sistema recupere alguns recursos antes do término da transação.

(Herdado de DbTransaction)
Rollback()

Reverte uma transação de um estado pendente.

Rollback(String)

Reverte todos os comandos que foram executados depois que o ponto de salvamento especificado foi estabelecido.

(Herdado de DbTransaction)
RollbackAsync(CancellationToken)

Reverte de forma assíncrona uma transação de um estado pendente.

(Herdado de DbTransaction)
RollbackAsync(String, CancellationToken)

Reverte todos os comandos que foram executados depois que o ponto de salvamento especificado foi estabelecido.

(Herdado de DbTransaction)
Save(String)

Cria um ponto de salvamento na transação. Isso permite que todos os comandos executados depois que o ponto de salvamento foi estabelecido sejam revertidos, restaurando o estado da transação para o que era no momento do ponto de salvamento.

(Herdado de DbTransaction)
SaveAsync(String, CancellationToken)

Cria um ponto de salvamento na transação. Isso permite que todos os comandos executados depois que o ponto de salvamento foi estabelecido sejam revertidos, restaurando o estado da transação para o que era no momento do ponto de salvamento.

(Herdado de DbTransaction)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

IDbTransaction.Connection

Obtém o objeto DbConnection associado à transação ou uma referência nula se a transação não for mais válida.

(Herdado de DbTransaction)
IDisposable.Dispose()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Libera os recursos usados pela instância atual da classe OdbcTransaction.

Métodos de Extensão

ConfigureAwait(IAsyncDisposable, Boolean)

Configura como as esperas nas tarefas retornadas de um descartável assíncrono serão executadas.

Aplica-se a

Confira também