Métodos BeginTrans, CommitTrans y RollbackTrans (ADO)
Estos métodos de transacción administran el procesamiento de transacciones dentro de un objeto connection de la siguiente manera:
BeginTrans Comienza una nueva transacción.
CommitTrans Guarda los cambios y finaliza la transacción actual. También puede iniciar una nueva transacción.
RollbackTrans Cancela los cambios realizados durante la transacción actual y finaliza la transacción. También puede iniciar una nueva transacción.
Sintaxis
level = object.BeginTrans()
object.BeginTrans
object.CommitTrans
object.RollbackTrans
Valor devuelto
se puede llamar a BeginTrans como una función que devuelve una variable de Long que indica el nivel de anidamiento de la transacción.
Parámetros
de objeto
Objeto Connection.
Conexión
Use estos métodos con un objeto Connection cuando desee guardar o cancelar una serie de cambios realizados en los datos de origen como una sola unidad. Por ejemplo, para transferir dinero entre cuentas, resta una cantidad de una y agrega la misma cantidad a la otra. Si se produce un error en alguna actualización, las cuentas ya no equilibran. Realizar estos cambios dentro de una transacción abierta garantiza que todos o ninguno de los cambios pasen.
Nota
No todos los proveedores admiten transacciones. Compruebe que la propiedad definida por el proveedor "transaction DDL" aparece en la colección Connection del objeto Properties, lo que indica que el proveedor admite transacciones. Si el proveedor no admite transacciones, llamar a uno de estos métodos devolverá un error.
Después de llamar al método BeginTrans, el proveedor ya no confirmará instantáneamente los cambios que realice hasta que llame a CommitTrans o RollbackTrans para finalizar la transacción.
Para los proveedores que admiten transacciones anidadas, llamar al método BeginTrans dentro de una transacción abierta inicia una nueva transacción anidada. El valor devuelto indica el nivel de anidamiento: un valor devuelto de "1" indica que ha abierto una transacción de nivel superior (es decir, la transacción no está anidada dentro de otra transacción), "2" indica que ha abierto una transacción de segundo nivel (una transacción anidada dentro de una transacción de nivel superior), etc. Llamar a CommitTrans o RollbackTrans afecta solo a la transacción abierta más recientemente; Debe cerrar o revertir la transacción actual para poder resolver las transacciones de nivel superior.
Al llamar al método CommitTrans, se guardan los cambios realizados en una transacción abierta en la conexión y finaliza la transacción. Al llamar al método RollbackTrans, se invierten los cambios realizados en una transacción abierta y finaliza la transacción. Llamar a cualquiera de los métodos cuando no hay ninguna transacción abierta genera un error.
Según la propiedad Attributes del objeto Connection , llamar a los métodos CommitTrans o RollbackTrans puede iniciar automáticamente una nueva transacción. Si la propiedad Attributes está establecida en adXactCommitRetaining, el proveedor inicia automáticamente una nueva transacción después de una llamada CommitTrans. Si la propiedad Attributes se establece en adXactAbortRetaining, el proveedor inicia automáticamente una nueva transacción después de una llamada RollbackTrans.
Servicio de datos remotos
Los métodos BeginTrans, CommitTransy RollbackTrans no están disponibles en un objeto Connection del lado cliente.
Se aplica a
del objeto connection (ADO) de
Consulte también
Ejemplo de métodos BeginTrans, CommitTrans y RollbackTrans (VB)
ejemplo de métodos BeginTrans, CommitTrans y RollbackTrans (VC++)
de Attributes (ADO)