abrir y cerrar transaccion
Publicado por Gabriela (7 intervenciones) el 18/06/2008 22:06:46
*Una consulta , estoy manejando las transacciones manuales, las configuro al inicio de mi programa con
*= SQLSETPROP(mconect, 'Transactions', 2), para según los cambios confirmarlos con Sqlcommit() o cancelarlos con sqlrollback()
*Mi consulta son dos:
*1.0 al configurar al inicio el tipo de transaccion manual, tengo que en algun momento volverlo a su estado inicial, como tipo de transacciones automaticas(implicitas)
*2.0 para x proceso ejecuto consecutivamente 2 sqlexec(), distintos,tendria que abrir la transaccion y al final cerrarla para que los dos sqlexec queden dentro de la
*misma transaccion??
WAIT WINDOW "Agregando información de la tabla principal" TIMEOUT 2
BEGIN TRANSACTION
MSQL = "INSERT INTO mitablappal";
+" (CODIGO,FECHA,IDCLIENT)";
+" VALUES";
+" (?CURSOR.cod_orden,?CURSOR.FECHA,?CURSOR.ID)"
IF SQLEXEC(MCONECT,MSQL)<0
MESSAGEBOX("NO SE PUDO REALIZAR LA ADICION DEL REGISTRO",64,"PRG")
SQLROLLBACK(mconect)
ELSE
&&&Actualizamos correlativo en sql, LE MANDAMOS EL PARAMETRO A SQL
=SQLEXEC(mconect,"exec incremento_CORRELATIVO_FACTURA @VALORORDEN=?WCORRELATI")
SQLCOMMIT(mconect)
endif
END TRANSACTION
* ????ESTOY EN LO CORRECTO????O SI ESTOY EQUIVOCADA POR FAVOR DIGAMNE¡¡¡GRACIAS
*= SQLSETPROP(mconect, 'Transactions', 2), para según los cambios confirmarlos con Sqlcommit() o cancelarlos con sqlrollback()
*Mi consulta son dos:
*1.0 al configurar al inicio el tipo de transaccion manual, tengo que en algun momento volverlo a su estado inicial, como tipo de transacciones automaticas(implicitas)
*2.0 para x proceso ejecuto consecutivamente 2 sqlexec(), distintos,tendria que abrir la transaccion y al final cerrarla para que los dos sqlexec queden dentro de la
*misma transaccion??
WAIT WINDOW "Agregando información de la tabla principal" TIMEOUT 2
BEGIN TRANSACTION
MSQL = "INSERT INTO mitablappal";
+" (CODIGO,FECHA,IDCLIENT)";
+" VALUES";
+" (?CURSOR.cod_orden,?CURSOR.FECHA,?CURSOR.ID)"
IF SQLEXEC(MCONECT,MSQL)<0
MESSAGEBOX("NO SE PUDO REALIZAR LA ADICION DEL REGISTRO",64,"PRG")
SQLROLLBACK(mconect)
ELSE
&&&Actualizamos correlativo en sql, LE MANDAMOS EL PARAMETRO A SQL
=SQLEXEC(mconect,"exec incremento_CORRELATIVO_FACTURA @VALORORDEN=?WCORRELATI")
SQLCOMMIT(mconect)
endif
END TRANSACTION
* ????ESTOY EN LO CORRECTO????O SI ESTOY EQUIVOCADA POR FAVOR DIGAMNE¡¡¡GRACIAS
Valora esta pregunta


0