Ver Mensaje Individual
  #1  
Antiguo 30-08-2004
Duc Duc is offline
Miembro
 
Registrado: jul 2004
Posts: 49
Reputación: 0
Duc Va por buen camino
Insertar en varias tablas...

Buenas

estoy trabajando con Delphi 6 y accedo a una base de datos SQLServer con un ADOQuery. Tengo que grabar unos datos en diferentes tablas: tengo una tabla con una cabezera y varias tablas de "lineas" vinculadas a la tabla de cabezeras (una cabezera se vincula a varias lineas). Primero inserto el registro de la cabezera, después abro un formulario para insertar las lineas, una a una.
Si hubiera un error en el insertar alguna linea, o el proceso se cancelara, tendría que eliminar otra vez todos los registros insertados en el proceso para dejar las tablas limpias. Una faena bastante dura si contamos todas las lineas que puedo llegar a poner a la vez.

Mi duda es sencilla: ¿Hay alguna forma de optimizar el proceso? es decir, alguna forma de decirle, uno a uno, los registros que tiene que grabar, pero si se cancela, que no guarde ninguno; o al contrario, grabar los registros uno a uno, pero que si se cancela los elimine todos automáticamente.

Recuerdo una técnica que me explicaron, eran transacciones de Beatrive; servian para hacer, según lo que yo entendí, exactamente lo que yo necesito.

Siento el rollo, y muchas gracias por adelantado.
Responder Con Cita