Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2003
rafadrover rafadrover is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mallorca
Posts: 48
Poder: 0
rafadrover Va por buen camino
Applyupdates maestro/detalle

Hola tengo un problema muy simple, estoy cambiando el esquema de una aplicacion para que el usuario pueda cancelar cambios que ha realizado.
Para ello queria utilizar cachedupdates, en lugar de rollback o commit, utilizo interbase, el problema que tengo es que teniendo una tabla maestro y otra cliente con cachedupdates, cuando le digo a la base de datos que me haga el applyupdates de las dos tablas, solamente me guarda la maestra. Sin cached updates todo funciona, pero tengo que hacer un post del maestro antes de hacer un insert en el cliente.
Alguien me puede dar una indicacion??
Responder Con Cita
  #2  
Antiguo 17-09-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Tienes que hacer tanto el AppliyUpdates de la tabla Maestro como Detalle, y en este orden.

Ej:
Código:
tblMaestro.ApplyUpdates;
tblDetalle.ApplyUpdates;
O:
Código:
Database1.ApplyUpdates([tblMaestro, tblDetalle]);

¿Es esto lo que estas haciendo?
¿Te da algún error?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 18-09-2003
rafadrover rafadrover is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mallorca
Posts: 48
Poder: 0
rafadrover Va por buen camino
Lo que estoy utilizando es el segundo còdigo Database.ApplyUpdates, primero pongo el maestro y luego el cliente

Código:
Database.ApplyUpdates([tblMaestro, tblCliente])
Es algo muy extraño ya que tocaria funcionar.

Lo que hago es en el evento AfterPost de l maestro, poner el applyupdates, teoricamente si no he hecho el post del cliente, el mismo applyupdates me lo tendria que guardar, de todas maneras hago el post del cliente.
Responder Con Cita
  #4  
Antiguo 18-09-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Posteado originalmente por rafadrover
Lo que hago es en el evento AfterPost de l maestro, poner el applyupdates
Me parece que haciendo esto estas desperdiciando los Catched Updates... yo pondría un botón que sea "Grabar" que ejecute los ApplyUpdates de ambos componentes.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 19-09-2003 a las 15:54:11.
Responder Con Cita
  #5  
Antiguo 19-09-2003
rafadrover rafadrover is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mallorca
Posts: 48
Poder: 0
rafadrover Va por buen camino
El problema no es ese, el problema es que quando hago el applyupdates no funciona bien y solamente guarda el maestro.
Responder Con Cita
  #6  
Antiguo 19-09-2003
Avatar de Voutarks
Voutarks Voutarks is offline
Miembro
 
Registrado: jul 2003
Ubicación: Islas Canarias
Posts: 118
Poder: 21
Voutarks Va por buen camino
En un FAQ sobre IBX encuentro lo siguiente:

Pregunta:

When using Cached Updates with a Master/Detail relation, details disappear when I post. What gives?

Respuesta:

This behavior is up at the TDataset level. When you go into Edit mode (or when you ApplyUpdates) the DataLink is passed a message that the cursor has been repositioned. This message will cause detail queries to close and re-open on the "new" position. The only way to stop this is to break the DataLink. Set the detail's DataSource to nil before applying the master's update.
Responder Con Cita
  #7  
Antiguo 24-09-2003
rafadrover rafadrover is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mallorca
Posts: 48
Poder: 0
rafadrover Va por buen camino
Gracias compañero, hoy haciendo pruebas me he dado cuenta de eso, si hago el apply updates desconectando el masterdatasource del detalle, funciona, pero luego tengo que volver a assignarselo. Me parecia un poco chapuzero, con BDE no pasa, pero con tu post se me ha confirmado, lo haré de esta manera, gracias.
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


La franja horaria es GMT +2. Ahora son las 16:29:43.


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