Como bien dice el asunto estoy teniendo problemas al querer usar las transacciones usando la Nativa con MySql.
Les adjunto un trozo de codigo.
- Code: Select all Expand view
- TRY
oCn:BeginTransaction()
//--------------------------------------------------------------
//---Guardo los datos de la factura en el mayor de ventas
::tHoraComprobante:=TIME()
cCampos := "cpte_nombre,cpte_letra,cpte_ptovta,cpte_numero,cpte_fecha,cpte_hora,id_cliente,por_dcto,imp_dcto,netoNG,neto21,por_iva21,imp_iva21,neto105,por_iva105,imp_iva105,imp_ii,exento,imp_total,cotizacion,moneda,cae,caevto,caebar,nota,forma_pago,id_usuario,id_caja_maestro"
aDatas := {::nombreComprobante,::letraComprobante,::ptoVtaComprobante,::numeroComprobante,::dFechaComprobante,::tHoraComprobante,::id_cliente,::nPorDcto,::nImpDcto,::netoNG,::neto21,::nPorIva21,::impIva21,::neto105,::nPorIva105,::impIva105,::impII,::Exento,::nTotalCpte,::CotDolarAFIP,::cCodMon,VAL(::aRepFE[1,2]),::aRepFE[1,3],::aRepFE[1,7],::nota,::forma_pago,oApp:nIdUser,::nIdCaja}
oCn:Insert( "ventas_mayor", cCampos, aDatas )
...
// mas insert del mismo modo
...
CATCH oErr
oCn:RollBack()
msgInfo("Error al intentar guardar el Comprobante","Aviso")
lSave:= .F.
FINALLY
oCn:CommitTransaction()
END
Si en la tabla me falta definir un campo por ejemplo cpte_hora no graba el dato , no me da error y sigue el proceso de grabación del resto como me ocurrió.
Seguramente algo debo estar haciendo mal.
Esta forma de Insertar lo tome de un ejemplo en este Foro que nos compartió el Mr Rao
Asi que quedo a la espera de los que saben.
Un abrazo a la distancia.
Marcelo