
23/11/2007, 14:20
|
 | | | Fecha de Ingreso: octubre-2006 Ubicación: en mi casa
Mensajes: 181
Antigüedad: 18 años, 7 meses Puntos: 0 | |
Re: ayuda objetos connection Cuando usas transacciones (Begintrans, Commit o Rollback) procura no hacerlo por cada tabla sino por transacción, me explico.
Si tienes que actualizar (insert, update, delete) varias tablas, abres una sola transacción haces la actualización de todas y cuando termina haces el committrans y en caso de error haces el rollbacktrans, BeginTrans abre la transacción CommitTrans cierra la transacción con éxito (concrete las actualizaciones a todas las tablas que esten en la transacción RollbackTrans cierra la transacción con error, es decir, deshace todaslas actualizaciones, no sólo a la última tabla o a la primera sino a todas las tablas que hayan sido actualizadas dentro de la transacción, de esa manera estas quedan exactamente igual a como estuvieron antes de iniciada la transacción
On Error Goto eError Conexion.BeginTrans
actualiza tabla1
actualiza tabla2
actualiza tabla3
actualiza tabla4 Conexion.CommitTrans
Exit Sub
eError: Conexion.RollbackTrans
como comentario aparte, mientras dura la transacción, ningun usuario podrá accesar a la data de las tablas hasta que esta se haya cerrado, sea por commit o por rollback.
Salu2 |