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 Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 17-07-2007
kastor366 kastor366 is offline
Registrado
 
Registrado: may 2006
Posts: 1
Poder: 0
kastor366 Va por buen camino
Post Relacion Mestro Detalle con DBXpress

1. Configurar el componente SQLConnection. Ahora suponemos dos talbas TABLA_MAESTRA y TABLA_DETALLE. Colocar en un DataModule los siguientes componentes:

- Dos SQLDataSet (dstMestro y dst Detalle)
- Un DataSetProvider (dspMaestro)
- Dos ClientDataSet (cdsMaestro y cdsDetalle)

2. en un Fomulario colocar

- Tres DataSource (dsLinkMaestro, dsMaestro y dsDetalle)

3. Escribir la setencia SQL en la propiedad Command Text del dstMaestro

SELECT <columnas_de_tabla_maestra>
FROM TABLA_MAESTRA
WHERE <columna_PK_de_la_tabla_maestra> = :Parametro

4. Configurar el la propiedad Params, "Parametro" conforme su tipo, mejor que sea Integer entonces DataType = ftInteger

5. Cambiar la propiedad DataSet de dsLinkMaestro para que apunte a dstMaestro

6. Escribir la sentencia SQL de dstDetalle en la propiedad CommandText:

SELECT <columnas_de_la_tabla_detalle>
FROM TABLA_DETALLE
WHERE <columna_PK_de_la_tabla_detalle> = :<columna_PK_de_la_tabla_maestra>

NOTA IMPORTANTE:
El nombre del parametro en la tabla detalles tiene que ser obligatoriamente igual al nombre de la columna que se corresponde en la tabla maestra.

7. Cambiar la propiedad DataSource de dstDetalle

8. Cambiar la propiedad DataSet de dspMaestro a dstMaestro

9. Cambiar la propiedad ProviderName de cdsMaestro a dspMaestro

10. Agregar los TFields del cdsMaestro. Se tiene que poder ver un campo "nuevo", de tipo anidado que va a ser el responsable de la relacion con la tabla de detalles.

11. Cambiar la propiedad DataSetField de cdsDetalle , colocando en ella el nombre del campo anidado.

12. Cambiar la propiedad DataSet de dsMaestro a cdsMaestro

13. Cambiar la propiedad DataSet de dsDetalle a cdsDetalle

14. Agregar los TFields de cdsDetalle

A partir de ahora lo unico que hay que hacer es "insertar" un valor en "Parametro" y abrir eñ cds_Maestro, el resto se hace automaticamente.

OBSERVACIONES

Si se quiere utilizar la propiedad CommandText del ClientDataSet (y no del SQLDataSet) se tiene que colocar TRUE en la propiedad poAllowCommandText del DataSetProvider ligado al ClientDataSet.
Responder Con Cita
 



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 11:29:39.


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