Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-03-2010
[birmain] birmain is offline
Miembro Premium
 
Registrado: feb 2005
Ubicación: Albacete - España
Posts: 49
Poder: 0
birmain Va por buen camino
Numeración maestro-detalle en actualizaciones en caché

Un saludo a todos.

Mi cuestión es la siguiente: Utilizo Firebird 1.5, Delphi 7 y los componentes de acceso a Firebird son IBDAC de Devart. Realizo la unión maestro detalle de dos querys una cabecera y otra detalle de pedidos utilizando el siguiente esquema:

Querys autocommit a False
CaheUpdates True

Los Querys están perfectamente enlazados, y cuando asigno los valores de las claves en cabecera, se reasignan perfectamente en el detalle, activo ApplyUpdates y acepto la transacción. Todo funciona perfectamente. Pero tiene un inconveniente, esto es, si cancelo los cambios ya ha corrido el numerador y produce un hueco en la numeración. Para resolver esto he resuelto asignar un número especial paea el registro nuevo (-999) mientras está en caché, y antes de ApplyUpdate obtener el número de pedido, entonces renumero la cabecera y el detalle, o sea sustituyo -999 por el número obtenido del numerador, y aplico los cambios y termino la transacción. De esta forma evitaría que al cancelar corra la numeración.

Pero el problema es el siguiente: Que haciéndose perfectamente todo, solo me envía a la base de datos la cabecera. Desaparece el detalle. En firebird hay una clave foránea que relaciona cabecera y detalle. La clave consta de 5 campos, pero solo se altera el campo número de pedido.

Agradecería si alguien ha estudiado estos componentes o se ha visto en esta situación y la ha resulto, me facilitara alguna información.
Muchísimas gracias por anticipado
Responder Con Cita
  #2  
Antiguo 11-03-2010
[birmain] birmain is offline
Miembro Premium
 
Registrado: feb 2005
Ubicación: Albacete - España
Posts: 49
Poder: 0
birmain Va por buen camino
Problema resuelto

Era un bug de IBDAC de Devart, que lo solucioné bajándome la última revisión (de hace 5 días)
Por cierto, ¿alguien utiliza estos componentes?. Son sencillos de utilizar y de bastante rendimiento.

Un saludo.
Responder Con Cita
  #3  
Antiguo 11-03-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Yo utilizo dbExpress y FIBPlus.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Saber si el DBGrid (Detalle) esta Vacio en Relacion Maestro/Detalle Adrian Murua Conexión con bases de datos 2 03-01-2009 13:48:46
Maestro/Detalle (No graba en tabla Maestro) teclilla Tablas planas 12 21-04-2008 20:59:54
Problema tabla Maestro-detalle en la q la pk de t.detalle formad por 2cods de la maes akinom38 Varios 1 09-11-2007 19:27:44
Dudas con Transacciones y Actualizaciones en Caché cybergerman Conexión con bases de datos 3 29-09-2004 21:13:03
Maestro-Detalle ;Actualizar detalle a partir de un DBgrid norberto_larios Conexión con bases de datos 1 11-09-2004 18:17:34


La franja horaria es GMT +2. Ahora son las 16:28:36.


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
Copyright 1996-2007 Club Delphi