Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-02-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Hola,

como no puedo editar el post tengo que añadir uno nuevo

Como comentaba uso librerias zeos y sqlite, este ultimo creo que no es relevante o si?.

Bueno, ya probe lo que me comentabas pero no me funciona nose si estara bien:

contactos.tzquery
contactos.tdatasource

telefonos.tzquery
telefonos.tdatasource

Esto me estaba quedando asi en el object inspector.

contactos.tzquery (como no hay tablename no pongo nada salvo en el sql que seria select * from contactos.

El contactos.tdatasource lo relaciono con contactos.tzquery

y luego en el telefonos.tzquery le pongo en mastersource contactos.tdatasource y ahi en masterfield el campo que se relaciona.

y el telefonos.tdatasource lo relaciono con el mismo telefonos.tzquery.

Que estoy hacendo mal?

un saludo y gracias de nuevo
Responder Con Cita
  #2  
Antiguo 10-02-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Hasta donde pude entender (están un poco confusas tus palabras) uno de los problemas que tienes que cómo resolver esta paradoja:
Cita:
¿Cómo relacionar registros hilos (teléfonos) a su respectivo padre (contactos) si el padre aún no existe?
Es valida tu incógnita. De hecho es un problema un poco complejo que puede tener varias soluciones. El problema nace porque la mayoría de los motores de DB no te dejarán agregar un nuevo registro Hijo si el padre aún no ha sigo creado. Lo que yo hago para resolver este problema es utilizar una tabla temporal (o una tabla en memoria puede ser de mucha ayuda si tienes una estructura compleja). Si solo vas a guardar números de telefono, creo que basta con un array.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 12-02-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Tienes razon chris, probare con un dataset en memoria a ver como sale pero primero queria solucionar otro problema.

No hay forma de que el grid de la tabla detalle me muestre/filtre en funcion de la maestra, si uso un query (master) y table (detail) si lo hace pero con dos querys no.

Os resumo un poco como lo hago usando lo que posteo ecfisa.

tengo 2 datasource y 2 querys un dbgrid y un dbedit

query1.tquery (master)
sql.text:='select * from contactos'
datasource no pongo nada porque genera un bucle.

datasource1.tdatasource
dataset:=query1


query2.tquery(detail)
mastersource:=datasource1
masterfield:=codigo
linkedfields:=codigo2 (de la tabla2)
sql.text:='select * from telefonos where codigo2= :codigo'

No se donde me falta algo porque ya probe con varias cosas del inspector de objetos pero nada, no me filtra nada ni me deja ver nada, eso si, como os comentaba si uso una tabla como detalle en vez del query si me lo hace.

Es frustrante la verdad.

uso los componentes zeos

gracias de nuevo
Responder Con Cita
  #4  
Antiguo 12-02-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Hola,
Bueno algo mas he visto,
Parece que si al query2.sql le dejo solo como 'select * from telefonos' ya me funciona porque ya habia relacionado en el inspector de objetos el master, y los campos relacionados.
Si lo hago al reves, dejo el sql tal y como esta y quito estas relaciones tampoco me funciona.
La pregunta del millon seria porque pasa esto.

un saludo y gracias de nuevo
Responder Con Cita
  #5  
Antiguo 14-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Un poquito de atención y a ver si utilizamos TAG's.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 14-02-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Correcto Neftali, un error por mi parte.

gracias por el apunte
Responder Con Cita
  #7  
Antiguo 10-03-2011
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 20
anubis Va por buen camino
Hola de nuevo,

Chris, sobre la tabla de memoria si entendi el mecanismo, la duda que me surge es la siguiente:

Con las dos tablas en memoria, a la hora de guardarlas, primero guardo el registro en la maestra con lo que ya tengo mi clave primaria.
De ahi haria un for next con todos los registros de la tabla detalle e ir insertando la clave primaria obtenida, es asi?.

Es correcto usar un for next para recorrer todos los datos de la tabla de detalle en memoria para ir guardando?.(es lo mismo en un sistema unico o cliente servidor?.

El borrado de un registro( si esto que comento esta bien), seria lo mismo, borrar del detalle primero con un for next y luego borrar el registro maestro, porque hasta ahora si borro el registro maestro antes que el de detalle(lo permite) se quedan ahi los registros del detalle.

Un saludo y gracias nuevamente
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
problemas con dbgrid y otros db anubis Firebird e Interbase 4 18-02-2011 19:58:58
Objetos de sistema y otros problemas PaFernan99 Oracle 1 15-05-2008 23:16:29
Problemas con el DBGrid Shidalis Conexión con bases de datos 8 07-12-2005 15:53:50
Problemas con la aplicacion en otros equipos Mashabak Tablas planas 2 29-06-2004 17:16:55
Problemas con filtro... (y otros) sitrico Conexión con bases de datos 1 21-01-2004 21:52:12


La franja horaria es GMT +2. Ahora son las 23:10:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi