Exportar (0) Imprimir
Expandir todo
Este tema aún no ha recibido ninguna valoración - Valorar este tema

SqlTransaction (Clase)

Actualización: noviembre 2007

Representa una transacción de Transact-SQL que se realiza en una base de datos de SQL Server. Esta clase no se puede heredar.

Espacio de nombres:  System.Data.SqlClient
Ensamblado:  System.Data (en System.Data.dll)
public sealed class SqlTransaction : DbTransaction
public final class SqlTransaction extends DbTransaction
public final class SqlTransaction extends DbTransaction

La aplicación crea un objeto SqlTransaction mediante una llamada a BeginTransaction en el objeto SqlConnection. Todas las operaciones siguientes asociadas a la transacción (por ejemplo, la confirmación o la anulación de la transacción) se realizan en el objeto SqlTransaction.

4b1h6b1d.alert_note(es-es,VS.90).gifNota:

Se debe utilizar siempre el control de excepciones Try/Catch al confirmar o deshacer SqlTransaction. Tanto Commit como Rollback generan una excepción InvalidOperationException cuando se termina la conexión o si la transacción ya se ha deshecho en el servidor.

Para obtener más información sobre las transacciones en SQL Server, vea "Explicit Transactions" y "Coding Efficient Transactions" en los Libros en pantalla de SQL Server 2005.

En el siguiente ejemplo se crean un objeto SqlConnection y un objeto SqlTransaction. También se muestra la forma de utilizar los métodos BeginTransaction, Commit y Rollback. Al producirse cualquier error, la transacción se deshace. El control de errores Try/Catch se utiliza para ocuparse de cualquier error que se produzca al intentar confirmar o deshacer la transacción.

private static void ExecuteSqlTransaction(string connectionString)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();

        SqlCommand command = connection.CreateCommand();
        SqlTransaction transaction;

        // Start a local transaction.
        transaction = connection.BeginTransaction("SampleTransaction");

        // Must assign both transaction object and connection
        // to Command object for a pending local transaction
        command.Connection = connection;
        command.Transaction = transaction;

        try
        {
            command.CommandText =
                "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')";
            command.ExecuteNonQuery();
            command.CommandText =
                "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')";
            command.ExecuteNonQuery();

            // Attempt to commit the transaction.
            transaction.Commit();
            Console.WriteLine("Both records are written to database.");
        }
        catch (Exception ex)
        {
            Console.WriteLine("Commit Exception Type: {0}", ex.GetType());
            Console.WriteLine("  Message: {0}", ex.Message);

            // Attempt to roll back the transaction.
            try
            {
                transaction.Rollback();
            }
            catch (Exception ex2)
            {
                // This catch block will handle any errors that may have occurred
                // on the server that would cause the rollback to fail, such as
                // a closed connection.
                Console.WriteLine("Rollback Exception Type: {0}", ex2.GetType());
                Console.WriteLine("  Message: {0}", ex2.Message);
            }
        }
    }
}


Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.