Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   como Relacionar dos tablas (https://www.clubdelphi.com/foros/showthread.php?t=76662)

vicentnew 17-11-2011 01:04:34

como Relacionar dos tablas
 
Estimados, tengo dos tablas en delphi y cada una de ellas se conectan por un adoquery, el problema es que no se como definir una relacion entre el field de una y el field de la otra, con adotable no tenia problemas porque buscaba el masterfield y luego elegia los campos, pero con adoquery no se como hacerlo, trabajo con mysql

bueno, les dejo el ejemplo, quiero reacionar de tabla nombres id_tarjeta con id_tarjeta de tabla reloj

Tabla 1: Nombres
id | Nombres | id_tarjeta
1 Juan 121
2 Pedro 122


Tabla 2: Reloj
id | id_tarjeta | estado
1 121 presente
2 122 presente


Muchas gracias

olbeup 17-11-2011 08:22:05

Cita:

Empezado por vicentnew (Mensaje 418673)
Estimados, tengo dos tablas en delphi y cada una de ellas se conectan por un adoquery, el problema es que no se como definir una relacion entre el field de una y el field de la otra, con adotable no tenia problemas porque buscaba el masterfield y luego elegia los campos, pero con adoquery no se como hacerlo, trabajo con mysql

bueno, les dejo el ejemplo, quiero reacionar de tabla nombres id_tarjeta con id_tarjeta de tabla reloj

Tabla 1: Nombres
id | Nombres | id_tarjeta
1 Juan 121
2 Pedro 122


Tabla 2: Reloj
id | id_tarjeta | estado
1 121 presente
2 122 presente


Muchas gracias

Puedes crear dos SQL:
Primera SQL
Código SQL [-]
SELECT
    ID
    ,NOMBRES
    ,ID_TARJETA
  FROM Tabla1
Segunda SQL
Código SQL [-]
SELET
    A.ID
    ,A.ID_TARJETA
    ,A.ESTADO
  FROM Tabla2 ON A
    INNER JOIN Tabla1 AS B
      ON B.ID_TARJETA = A.ID_TARJETA
Espero que te sirva

Un saludo.

ecfisa 17-11-2011 12:38:26

Hola.

Teniendo:
  • Un TAdoConnection: ADOConnection1
  • Dos TADOQuery: qyReloj y qyNombres
  • Dos TDataSource: dsReloj y dsNombres
Si lo que buscas es establecer una relación maestro/detalle mediante dos TADOQuery tenes que ajustar las siguentes propiedades:

En qyReloj (master):
  • Connection = ADOConnection1
  • SQL = SELECT * FROM RELOJ
En dsReloj: DataSet = qyReloj

En qyNombres (detail):
  • Connection = ADOConnection1
  • SQL = SELECT * FROM NOMBRES WHERE ID_TARJETA = :ID_TARJETA
  • DataSource = dsReloj
En dsNombres: DataSet = qyNombres

Luego solo tenes que asociar los componentes visuales a dsNombre y dsReloj, por ejemplo dos DBGrids.

Saludos.

vicentnew 17-11-2011 13:06:59

listo
 
Muchas Gracias mis amigos!!! ya pude lograr una relación mediante adoquery por codigo sql.....


La franja horaria es GMT +2. Ahora son las 11:14:33.

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