Ver Mensaje Individual
  #7  
Antiguo 23-10-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Reputación: 21
AzidRain Va camino a la fama
Lo mejor es usar ya sea TClientDatasets o algun otro tipo de tablas en memoria. Primero haces todo tus movimientos tanto en la cabecera como en los detalles y ya cuando vas a grabar inicias una transacción, grabas la cabecera, grabas el detalle y grabas los impuestos y haces un commit. Si ocurre algún problema la transacción se cierra y no se guarda nada de manera que no te quedan registro "volando". Ahora bien, hay casos en los que la cabecera puede tener como clave, id o folio un campo autoincrementado o bien que no sabes su valor hasta que se guarda en la bd, en ese caso haces lo mismo solo que despues de grabar la cabecera, obtienes el valor que le asignó el motor de BD y con ese valor modificas todos los registros de las tablas de detalle y de impuestos y entonces si procedes a grabarlas.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita