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 31-07-2003
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
tablas relacionadas y update sql

Buenos días, tengo dos consultas:
(no estoy muy seguro de si se pueden hacer dos preguntas juntas, si no fuera así, corregidme y disculpas)

1º) Establezco uns relación entre dos tablas(maestro-detalle) y todo bien hasta que intento escribir datos en ellas. Me da este error:

'No existe campo relacionado en la tabla cabecera', y lo raro es que sí he hecho esa relación. Si quito la relación todo funciona, pero necesito hacer relación de integridad.

2º) Al hacer un update en sql(en una tabla maestro/detalle) no se reflejan los cambios hasta que no cierro y abro la tabla. ¿Sabe alguién como puedo evitar abrir y cerrar la tabla?



¡Saludos!
Responder Con Cita
  #2  
Antiguo 31-07-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
Primero te quiero comentar que lo que te voy a decir son suposiciones, ya que no aclaras bien que motor utilizas y como accedes a este:
- El primer error, a mi parecer estas haciendo las cosas al revés, estás queriendo insertar primero en el detalle y luego en la cabecera, y esto obviamente produce una violación a una relación.
- Con el segundo tema, si es que no manejas transacciones, se supone que con la misma conexión verás los cambios. De todos modos te recomiendo que eches una mirada la manejo de transacciones de los TDataBase.

Saludos!
__________________
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 01-08-2003
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
Buenos días, ya se solucionó el primero de los problemas. Efectivamente estaba grabando primero en la tabla detalle, y no en la maestro como tenía que haber sido.

El segundo problema continua, amplío:

Usando ADO intento grabar en la tabla maestro y en la detalle. Por razones de código en la maestro escribo de forma directa:

modulo.cabeceraalbar.value:=........;
modulo.cabecera.post;

y seguidamente escribo en la detalle mediante sql:

update...... where......

El problema es: los datos se graban, pero en la tabla detalle(que es donde grabo con sql) los datos no los veo hasta que no cierro y abro la tabla de nuevo, en cambio en la maestro si que los veo.

¿Sabéis cual es la posible causa?, he probado con transacciones y no varía en nada(si es que lo he hecho bien)...


¡saludos!
Responder Con Cita
  #4  
Antiguo 01-08-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
Otra ves, desconociendo como es que modificas los datos... En el DataSet que haces el Post...¿Haces un AppliUpdates?

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 05-08-2003
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
Posiblemente no he conseguido explicarme bien.
Los datos los modifico con un commandsql al que le paso
en el commandtxt :

'update tabla set columna:=1200 where factura:=1000' algo así, no recuerdo bien(no tengo el source delante)

después hago , commandsql.execute;

Con esto los datos de modifican, pero no veo los cambios hasta que no cierro y abro la tabla. Uso ADO, y el método appliupdates no existe en ADO(o por lo menos yo no lo veo).

A ver si así lo he aclarado algo más.

Muchas gracias, y siento mi pesadez(pero es un rollo tener que cerrar y abri la bd, ya que cuando hay muchos datos se ralentiza).
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 13:44:38.


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