Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-02-2005
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Question Maestro-detalle Paradox

Hola foro, he creado dos tablas en paradox y las he relacionado (tabla articulos y tablas detarticulos).
Mi idea al crear la relación era que cuando se cambiara el clave primaria de un registro en la tabla articulos de forma automatica (por que esta definida la relacion) se cambiara en todos los registros de la tabla detarticulos donde se encontrara ese valor.
Esto es la teoria, pero no ocurre. Simplemente me cambia el valor en articulos y me da un error al intentar modificar en detarticulos. ¿por que?

Gracias y saludos.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #2  
Antiguo 17-02-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Porque no tiene la propeidad actualizar en cascada, por lo tanto lo tienes que implementar por código, por ejemplo con un simple SQL.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 18-02-2005
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Unhappy

Si tengo puesta la propiedad de actualizar en cascada. Te explico, la base de datos en en paradox y la he realizado con el Database Desktop. Al crear la relacion hay una opcion de actualizar en cascada y yo la tengo señalada.
¿Puede ser por otro motivo?

Gracias por tu respuesta.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #4  
Antiguo 18-02-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Lo que Marcos dice es que: Paradox no tiene implementada la actualización en cascada, aunque tenga esa casilla en el database desktop !!! por tanto la tienes que implementar tú a mano.

Saludos
Responder Con Cita
  #5  
Antiguo 18-02-2005
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Pues vaya sorpresa. Pues nada, lo hare a mano (con sentencias sql).
Gracias por vuestras respuestas.

Saludos.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #6  
Antiguo 18-02-2005
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola:

Acabo de probarlo (ya lo había experimentado en una ocasión pero por si las moscas) y veo que Paradox Sí tiene la actualización en cascada, aunque es posible que haya que seguir ciertas pautas.

En primer lugar, las tablas que he manejado eran de Paradox 7.0, no sé si en versiones anteriores esta característica no funciona. Luego creo que es necesario que el campo que hace de nexo (la clave principal en Articulos y foránea en Detalles) esté declarada en el primer lugar dentro de la tabla detalle, es decir que sea el primer campo. Al definir la Integridad Referencial, Paradox ya crea los índices pertinentes.

Lo he probado, tanto desde el Database Desktop como desde Delphi y al cambiar la clave principal en Artículos, dicho cambio se propaga en la de Detalles (en Delphi hay que hacer un Refresh para verlo, claro).

Al menos en las circunstancias que he descrito, sí funciona, otra cosa es que personalmente a mí la Integridad Referencial en Paradox me ha dado más quebraderos de cabeza que satisfacciones, sobre todo a la hora de reparar tablas y encontrarme con dependencias farragosas.

Saludos
__________________
Guía de Estilo
Responder Con Cita
  #7  
Antiguo 20-02-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cuando ví este hilo, me abstuve de responder, ya que recordaba vagamente si funcionaba o no.

Creo que el tema era:
- Actualización en cascada si funciona.
- Borrado en cascada no.

De todas formas coincido con andrés; en caso de fallos, la integridad referencial en paradox te vuelve loco para intentar salvar los datos, así como los autoincrementales.

Saludos
Responder Con Cita
  #8  
Antiguo 20-02-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
He estado un par de días en Francia, bueno pues como dice Andrés y Lepe en la versión 7 si tiene la casilla para activarla y crea los índices automáticamente, lo cierto es que yo recuerdo haberla usado una vez y a la vista de los resultados, tuve que reconstruir entera una tabla..., lo que hago es implementar la integridad de forma manual, no es más que un simple Update en SQL.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
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 14:32:45.


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