Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Maestro/Detalle (https://www.clubdelphi.com/foros/showthread.php?t=8699)

StartKill 30-03-2004 17:36:28

Maestro/Detalle
 
Hola my friend's. :cool:

Toy con Dephi 7.0 Interbase 6.0.1, trabajo con componentes IBX.

Tengo una aplicacion donde uno de mis formularios es maestro detalle, como ya es de suponer el maestro tiene una clave primary y la tabla detalla tiene una llave foranea a al campo clave de la primera tabla. :p

Para ello utilizo dos IbQuery's con un solo IBtransacction, mi idea es aplicar un solo commit al transacction para mis dos tablas maestro detalle.

Pero veo el incoveniente de que para hacer un post a una fila de mi tabla detalle tiene que existir la fila en maestro.... :(

Pasos que he seguido:

Tabla Maestro
1.- Inserto un registro "insert"
2.- Ingreso los datos.
3.- Hago su respectivo "Post"
4.- Por ultimo su "Commit" linea que deseo evitar

Tabla Detalle
1.- Inserto un registro "insert"
2.- Ingreso los datos.
3.- Hago su respectivo "Post"
4.- Repito los pasos desde 1.- o continuo con el paso 5.-
5.- Por ultimo su "Commit"

Lo que necesito es añadir filas a la tabla detalle sin haber hecho un commit a la tabla maestro... esto quiere decir que cuando el usuario este conforme con sus datos ingresados tanto maestro y detalle presione el boton grabar y de esa forma de haria un solo commit. :D

Bueno amigos espero haberme hecho comprender, alguna idea que tuvieran para esto. :)

Your friend.

StartKill
Lima-Perú

jachguate 30-03-2004 17:58:28

Pues todo está bien...

No se si no entendí tu duda.. pero si es si el procedimiento es correcto, si lo es. Por otro lado, si podes incluir modificaciones a dos (y a muchas) tablas en una sola transacción, haciendo commit solo al final.

Hasta luego.

;)

__cadetill 30-03-2004 18:05:21

A parte de lo comentado por Juan Antonio

Cita:

Empezado por StartKill
Pero veo el incoveniente de que para hacer un post a una fila de mi tabla detalle tiene que existir la fila en maestro.... :(

Esto no es que sea un inconveniente, es algo lógico y normal, la diferencia está en que la transacción no tiene por qué haber finalizado antes de eintroducir los detalles (como apunta el compañero Juan Antonio)

Espero te sirva

guillotmarc 30-03-2004 18:05:35

Hola.

¿ No funciona tal como lo planteas ?. Simplemente haz el Insert en la Tabla 1, junto a su Post, y no hagas aún el Commit. Vé añadiendo filas en la Tabla 2, y cuando decidas grabar los datos, haz el Commit de la transacción que comparten la Tabla 1 y la Tabla 2. ¿ Cual es el problema ? ¿ Que mensaje de error te da ?.

NOTA : ¿ Se nota que no he utilizado nunca los componentes IBX ?

Saludos.

guillotmarc 30-03-2004 18:06:58

Vaya, me habéis adelantado.

StartKill 31-03-2004 01:52:31

Hola,

Primero gracias por su interes, al leer sus repuestas me di cuenta que algo tenia que estar mal en mi codigo... humm, y asi fué. Segun sus cometarios lo detallado antes es correcto, "yo" no estaba aplicando como debia los pasos indicados ...,

Gracias, mil gracias.

Your Friend :cool:

StartKill
Lima-Perú


La franja horaria es GMT +2. Ahora son las 04:23:11.

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