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 03-07-2014
atani123 atani123 is offline
Miembro
 
Registrado: jul 2006
Posts: 63
Poder: 18
atani123 Va por buen camino
Maestro/detalle pierdo detalle con -1

Tengo 2 tablas, Master (id, codigo, nombre) y Detalle (id, id_Master, Direccion). Estan relacionadas mediante Master.id = Detalle.id_Master

Cuando hago una insercion me queda algo como esto.

Master
id = -1
codigo = '001'
nombre = 'jose'

Detalle linea 1
id = 1
id_Master = -1
Direccion = 'Pelayo 110'

Detalle linea 2
id = 2
id_Master = -1
Direccion = 'Caspe 35'

Detalle linea 3
id = 3
id_Master = -1
Direccion = 'Diputacion 8'


El caso es que cuando hago el post del Master, el id -1 cambia por el que toca y no me lo cambia en las lineas de detalle, por lo que quedan en el limbo.

¿Como deberia programar esto?
Responder Con Cita
  #2  
Antiguo 03-07-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Obtén y asigna el ID correcto desde que empieza la captura del registro maestro.
Responder Con Cita
  #3  
Antiguo 03-07-2014
atani123 atani123 is offline
Miembro
 
Registrado: jul 2006
Posts: 63
Poder: 18
atani123 Va por buen camino
Pero existe el tipico problema de cancelacion, es decir, le asigno un numero ej el 8., entra otro usuario, le asigna el 9. Ahora si cancelamos la del 8, se nos quedara el hueco. ¿no?
Responder Con Cita
  #4  
Antiguo 03-07-2014
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
No siempre de gana amigo... La opción que te indica el honorable forero Al González es completamente válida.

Saludos cordiales
Responder Con Cita
  #5  
Antiguo 03-07-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por atani123 Ver Mensaje
Pero existe el tipico problema de cancelacion, es decir, le asigno un numero ej el 8., entra otro usuario, le asigna el 9. Ahora si cancelamos la del 8, se nos quedara el hueco. ¿no?
Si la numeración debe ser correlativa (sin huecos) entonces tu enfoque es correcto. No indicas que base usas pero la opción más sencilla, si tu motor lo permite, es establecer una restricción de llave foránea del tipo ON UPDATE ... CASCADE para que sea el mismo motor el que actualice la llave foránea cuando cambies la de la tabla maestra.

Si esto no es posible pues tampoco sería difícil obtener el ID asignado al maestro después del POST y hacer tú mismo la actualización.

// Saludos
Responder Con Cita
  #6  
Antiguo 03-07-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por atani123 Ver Mensaje
Pero existe el tipico problema de cancelacion, es decir, le asigno un numero ej el 8., entra otro usuario, le asigna el 9. Ahora si cancelamos la del 8, se nos quedara el hueco. ¿no?
Es mejor usar llaves primarias artificiales (en el foro hay varios hilos que tratan sobre ello): Son IDs que el usuario no conoce y que no importa si llevan huecos o no, su único requisito es que sean únicos a nivel de la tabla. Para numerar registros de forma consecutiva recomiendo un campo aparte (Numero, Codigo, Clave), el cual sí es visible y sí representa algo para el usuario.

Un saludo.
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
query maestro/detalle condicion en detalle mjjj SQL 0 13-06-2012 00:57:21
DataSets Maestro - Detalle acceso al detalle delphijm Conexión con bases de datos 7 10-02-2011 15:51:53
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
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
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 17:34:48.


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