Inserta Registros maestro/detalle
Hola. soy nuevo en firebird aunque he trabajo mucho en paradox tengo una duda e buscado en el foro y no encontrado una respuesta completa a mi problema. Estoy trabajando con Delphi 5 y firebir 1.5, e creado todas mis tablas con el ibexpert y los campos autoincrementales manejo con triggers y generadores y utilizo relaciones de integridad entre las tablas con llaves foranes, estoy trabajando con componentes TIBDataset con las sentecias normales de
InsertSQL := 'insert into AGENDA (FECHA , DESCRIPCION) values (:FECHA, :DESCRIPCION)' ModifySQL := 'update AGENDA set FECHA = :FECHA, DESCRIPCION = :DESCRIPCION where FECHA = :OLD_FECHA' DeleteSQL := 'delete from AGENDA where FECHA = :OLD_FECHA' Mi dura esta en como insertar registros en dos tablas una que sea maestro y la otra detalle con una relacion 1 a muchos. Gracias de antemano por la atencion |
Normalidad ante todo.
Haz el tratamiento como si de paradox se tratara, es decir: Dos tablas, inserta el registro en la tabla maestra y después los registros de la tabla detalles, normalidad.
Lo único que tienes que poner atención es en el tratamiento de las transacciones, es decir, antes de comitear los detalles asegúrate que se ha comiteado la cabecera, porque si no te saltará un error de referencia de integridad. ejemplo a "grosso modo": Cita:
Cita:
|
Da mas detalles
Ante todo deberias explicar mejor tu situacion para poder ayudarte:
- Que campos tienen tus tablas - Podrias poner los SQL's de ambos DataSet's - En la tabla AGENDA veo que tienes un campo fecha, que parece la llave primaria. O me equivoco? No veo muy bien tener como llave primaria una fecha, ya que en una agenda se pueden tener varias actividades el mismo dia (fecha). |
La franja horaria es GMT +2. Ahora son las 08:06:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi