transacciones en VB

Diego
28 de Noviembre del 2007
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

mvallejos
28 de Noviembre del 2007
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