VFP y SQL
Publicado por Luis Lujan (16 intervenciones) el 29/01/2007 00:32:51
Saludos amigos listeros: Tengo una apliacion para facturacion en VFP 9.0 y BD en SQL2000 server, al grabar cabecera y detalle de una factura por ejemplo tengo que ejecutar dos comandos SQLEXEC: Uno para la cabecera y otro (o mas a veces) para el detalle de la siguiente manera:
* CABECERA
vsql=sqlexec(cConexion,"insert into cabecera...")
if vsql=0
sqlrollback(cConexion)
return
endif
* DETALLE
scan
vsql=sqlexec(cConexion,"insert into detalle...")
if vsql=0
sqlrollback(cConexion)
return
endif
endscan
sqlcommit(cConexion)
...
En este detalle se ejecuta SQLEXEC por cada item de la factura. Mi consulta es: es correcta la forma como lo vengo haciendo o existe otra manera de hacerlo, viendo el programa para el SQL estos dos son dos comandos separados. Si por razones X falla la insercion en el detalle entiendo que el SQLROLLBACK deshace el comando de la cabecera y detalle(s) o si todo sale bien el SQLCOMMIT guarda los dos comandos. Es asi o me estoy equivocando?. Hay algo adicional que debo considerar?
Gracias de antemano por la ayuda prestada.
* CABECERA
vsql=sqlexec(cConexion,"insert into cabecera...")
if vsql=0
sqlrollback(cConexion)
return
endif
* DETALLE
scan
vsql=sqlexec(cConexion,"insert into detalle...")
if vsql=0
sqlrollback(cConexion)
return
endif
endscan
sqlcommit(cConexion)
...
En este detalle se ejecuta SQLEXEC por cada item de la factura. Mi consulta es: es correcta la forma como lo vengo haciendo o existe otra manera de hacerlo, viendo el programa para el SQL estos dos son dos comandos separados. Si por razones X falla la insercion en el detalle entiendo que el SQLROLLBACK deshace el comando de la cabecera y detalle(s) o si todo sale bien el SQLCOMMIT guarda los dos comandos. Es asi o me estoy equivocando?. Hay algo adicional que debo considerar?
Gracias de antemano por la ayuda prestada.
Valora esta pregunta


0