Compartir vía


OdbcTransaction Clase

Definición

Representa una transacción SQL que se va a realizar en un origen de datos. Esta clase no se puede heredar.

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
Herencia
Herencia
OdbcTransaction
Implementaciones

Ejemplos

En el ejemplo siguiente se crea un OdbcConnection y un OdbcTransaction. También muestra cómo usar los métodos BeginTransaction, Commity 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

Comentarios

La aplicación crea un objeto OdbcTransaction llamando a BeginTransaction en el objeto OdbcConnection. Todas las operaciones posteriores asociadas a la transacción (por ejemplo, confirmar o anular la transacción) se realizan en el objeto OdbcTransaction.

Propiedades

Connection

Obtiene el objeto OdbcConnection asociado a la transacción o null si la transacción ya no es válida.

DbConnection

Cuando se reemplaza en una clase derivada, obtiene el objeto DbConnection asociado a la transacción.

(Heredado de DbTransaction)
IsolationLevel

Especifica el IsolationLevel para esta transacción.

SupportsSavepoints

Obtiene un valor que indica si esta instancia de DbTransaction admite puntos de guardado de base de datos. Si false, se espera que los métodos SaveAsync(String, CancellationToken), RollbackAsync(String, CancellationToken) y ReleaseAsync(String, CancellationToken) así como sus homólogos sincrónicos inicien NotSupportedException.

(Heredado de DbTransaction)

Métodos

Commit()

Confirma la transacción de base de datos.

CommitAsync(CancellationToken)

Confirma asincrónicamente la transacción de base de datos.

(Heredado de DbTransaction)
CreateObjRef(Type)

Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Libera los recursos no administrados usados por el DbTransaction.

(Heredado de DbTransaction)
Dispose(Boolean)

Libera los recursos no administrados usados por el DbTransaction y, opcionalmente, libera los recursos administrados.

(Heredado de DbTransaction)
DisposeAsync()

De forma asincrónica se dipa el objeto de transacción.

(Heredado de DbTransaction)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
Release(String)

Destruye un punto de guardado definido anteriormente en la transacción actual. Esto permite al sistema reclamar algunos recursos antes de que finalice la transacción.

(Heredado de DbTransaction)
ReleaseAsync(String, CancellationToken)

Destruye un punto de guardado definido anteriormente en la transacción actual. Esto permite al sistema reclamar algunos recursos antes de que finalice la transacción.

(Heredado de DbTransaction)
Rollback()

Revierte una transacción desde un estado pendiente.

Rollback(String)

Revierte todos los comandos que se ejecutaron después de establecer el punto de retorno especificado.

(Heredado de DbTransaction)
RollbackAsync(CancellationToken)

Revierte de forma asincrónica una transacción desde un estado pendiente.

(Heredado de DbTransaction)
RollbackAsync(String, CancellationToken)

Revierte todos los comandos que se ejecutaron después de establecer el punto de retorno especificado.

(Heredado de DbTransaction)
Save(String)

Crea un punto de retorno en la transacción. Esto permite que todos los comandos que se ejecuten después de establecer el punto de guardado se revierten, restaurando el estado de transacción a lo que estaba en el momento del punto de guardado.

(Heredado de DbTransaction)
SaveAsync(String, CancellationToken)

Crea un punto de retorno en la transacción. Esto permite que todos los comandos que se ejecuten después de establecer el punto de guardado se revierten, restaurando el estado de transacción a lo que estaba en el momento del punto de guardado.

(Heredado de DbTransaction)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IDbTransaction.Connection

Obtiene el objeto DbConnection asociado a la transacción o una referencia nula si la transacción ya no es válida.

(Heredado de DbTransaction)
IDisposable.Dispose()

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

Libera los recursos usados por la instancia actual de la clase OdbcTransaction.

Métodos de extensión

ConfigureAwait(IAsyncDisposable, Boolean)

Configura cómo se realizarán las esperas en las tareas devueltas desde un descartable asincrónico.

Se aplica a

Consulte también