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 02-11-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Poder: 18
FelipeDiaz Va por buen camino
Exclamation Problemas con Maestro Detalle

Hola a todos.

Agradezco me ayuden con lo siguiente:

Tengo un BD Firebird y estoy tratando de acceder desde delphi por medio de componentes FIBPLUS

Estoy tratando de implementar una realcion maestro detalle, para lo cual tengo: dos FibDataset, DSM (Relacionada con la tabla Maestra)
DSD (Relacionada con la tabla Detalles)

Igualmente dos Datasources, DTM y DTD
y dos DBGRID DBGM y DBGD


1.
a. Realizo la consulta en al propiedad SQL del DSM,
b. Coloco la propiedad Active= true,
c. Conecto el DTM al DSM y el DBGM al DTM
Resultado: en tiempo de diseño puedo ver que todo funciona hasta alli bien.

2.
a. Conecto la propiedad datasource del DSD al DTM,
b. Realizo la consulta del DSD, teniendo en cuenta la clausula Where ( de la forma: Detalle.FK= Maestro.PK)
c. Conecto el DTD al DSD y el DBGD al DTD

Resultado: EL DBGRID DETALLE me muestra todos los registros que se encuentran en la tabla detalles. Es decir no me esta funcionando la relacion MASTER-DETAIL

Ya estuve revisando los ejemplos de la pagina Devrace, pero no hay documentacion de los detalles a tener en cuenta, y revisando todas als propiedades de los compornentes, no encunetro diferencias significativas...

No se que estoy pasando por alto. en la Base de datos direbird existe la relacion entre clave foranea(detalle) y la principal(maestra) de las tabals en mencion.

Agradexco nuevamente a quien me pueda colaborar.


Felipe Diaz.
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida!
Responder Con Cita
  #2  
Antiguo 02-11-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Supongo que en el DataSet Detalle no tienes bien puesto el where del SQL.

Cabecera es (ID integer, datos string)
- PK ID
Detalle es (ID_CAB integer, datos_det string);
- FK ID_CAB=Cabecera.ID

Código Delphi [-]
begin
   [Conectar Base de Datos]
   [Iniciar Transacciones]

   DSM.Close;
   DSD.Close;
   DSM.SelectSQL.Text = 'SELECT * FROM CABECERA';
   DSD.SelectSQL.Text = 'SELECT * FROM DETALLE WHERE ID_CAB=?ID';

   DSD.DataSource := DTM;

   DSM.Open;
   DSD.Open;
end;

Si ves el ejemplo que te he puesto, los campos no se tienen que llamar igual necesariamente, pero los nombres de los parámetros si. (?ID es el nombre que tiene el campo en Cabecera)

Si posteas la estructura de las dos tablas, quizás te pueda decir qué debes poner en cada uno de los dos SelctSQL.
Responder Con Cita
  #3  
Antiguo 02-11-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Poder: 18
FelipeDiaz Va por buen camino
Smile Funciono!!!

Mucahs gracais DuiloiSola,

Si me funciono, al parecer el problema era que en la consulta del dataset DETALLE, estaba colocando en el FROM tanto la tabel detalle como la maestra, y sin el carater de parametro que en mi lugar es ":".

Muchas gracais por la respuesta y la rapidez.


muy amable.
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida!
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
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
problemas maestro-detalle DBexpress jmlifi Conexión con bases de datos 2 16-06-2006 12:27:05
Problemas con Datamodule y maestro detalle Carlex Conexión con bases de datos 3 24-04-2006 14:23:44
problemas maestro-detalle jmlifi Varios 1 28-11-2005 21:10:22
Problemas al pasar maestro-detalle de D4 a D6 JMOTON Conexión con bases de datos 2 23-11-2005 12:35:06


La franja horaria es GMT +2. Ahora son las 12:38:58.


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