Durante una transacción se ejecutan varias órdenes a una base de datos (inserciones, modificaciones o eliminaciones) y cuando se realiza la ejecución de la transacción (Commit) se intentan ejecutar todas, si alguna da algún fallo no se ejecuta ninguna y se vuelve al estado inicial (Rollback).
En el siguiente código vemos un ejemplo de actualización de 2 tablas mediante una conexión ODBC:
Using bd as New System.Data.Odbc.OdbcConnection(cnn)
Dim cmd as New Odbc.OdcCommand
Dim transaction as Odbc.OdbcTransaction
Try
bd.Open
transaction=bd.BeginTransaction ' aquí comienza la transacción
cmd.Connection=bd ' asigno la conexión al comando
cmd.Transaction=transaction ' asigno la transacción al comando
sql = "INSERT INTO tblUsers(nombre,apellidos) VALUES ('Pepe','Gonzalez')
cmd.CommandText=sql ' asigno la sentencia sql
cmd.ExecuteNonQuery()
' ejecuto 2ª sentencia
sql="INSERT INTO tblPassword(nombre,passw) VALUES ('Pepe','1234')
cmd.CommandText=sql
cmd.ExecuteNonQuery()
' ejecuto la transacción
transaction.Commit()
catch ex as Exception
Try
transaction.Rollback
End Try
End Try
End Using
No hay comentarios:
Publicar un comentario