transacciones en VB
hola.
Les comento mi duda
En una clase donde hago actualizaciones en una base, la misa consta de varias modificaciones en diversas tablas.
Para esto utilizo el método de la instancia que tengo de conexion "BeginTrans" y "CommitTrans"
Por ejemlo
gAdoCon.BeginTrans
Proceso 1
Proceso 2
.....
Proceso n
gAdoCn.CommitTrans
El problema que tengo es que a aveces tengo que ejecutar el proceso 2 (por ejemplo) y necesito aplicar transacciones en el mismo.
Necesito una función para poder saber cuando tengo ya vengo utilizando el método "BeginTrans" o No, para saber dentro del proceso 2 si abrir la Transacción o No.
Espero que se entienda mi consulta.
Diego
Les comento mi duda
En una clase donde hago actualizaciones en una base, la misa consta de varias modificaciones en diversas tablas.
Para esto utilizo el método de la instancia que tengo de conexion "BeginTrans" y "CommitTrans"
Por ejemlo
gAdoCon.BeginTrans
Proceso 1
Proceso 2
.....
Proceso n
gAdoCn.CommitTrans
El problema que tengo es que a aveces tengo que ejecutar el proceso 2 (por ejemplo) y necesito aplicar transacciones en el mismo.
Necesito una función para poder saber cuando tengo ya vengo utilizando el método "BeginTrans" o No, para saber dentro del proceso 2 si abrir la Transacción o No.
Espero que se entienda mi consulta.
Diego
Lo que to hago generalmente es lo siguiente
Declaro un parámetro Opcional de tipo Booleano que me indique si debo ejecutar el proceso transaccionalmente o no, en caso de ser llamado desde una transacción activa
Sub Proceso2(Optional ConTransaccion As Boolean = True)
If Contransaccion Then
Conexion.BeginTran
end if
< Acciones>
If Contransaccion Then
Conexion.CommitTran
end if
End Sub
Fijate que el valor por defecto de ese parámetro es true, es decir, si no usas el parámetro, se ejecuta transaccionalmente, para que no lo haga, porque ya estás dentro de una transaccion, lo llamas asÃ
Proceso2 False
Espero que te sirva
Saludos
Declaro un parámetro Opcional de tipo Booleano que me indique si debo ejecutar el proceso transaccionalmente o no, en caso de ser llamado desde una transacción activa
Sub Proceso2(Optional ConTransaccion As Boolean = True)
If Contransaccion Then
Conexion.BeginTran
end if
< Acciones>
If Contransaccion Then
Conexion.CommitTran
end if
End Sub
Fijate que el valor por defecto de ese parámetro es true, es decir, si no usas el parámetro, se ejecuta transaccionalmente, para que no lo haga, porque ya estás dentro de una transaccion, lo llamas asÃ
Proceso2 False
Espero que te sirva
Saludos
