![]() |
Clientdatasets anidados con ADO
Un saludo a todos
En internet he visto varios ejemplos de Clientdatasets anidados para crear relaciones maestro/detalle, pero casi todos estan con base en BDE. He visto que hacen la relacion con la propiedad DataSetField, pero en ADO no no se como funciona, he intentado varias cosas y no he podido saber como asignar esta propiedad. Si alguien me puede dar una breve explicacion de como se crean ClientDataSets anidados sera de gran ayuda. Muchas gracias. |
a ver, si entendi:
tienes 2 AdoQuery digamos AdoMaestro y AdoDetalle en el maestro puede ser: // Para la tabla maestro: AdoMaestro.Text := 'Select id,Nombre from Clientes'; AdoMaestro.Open; MaestroDatasource.Dataset := Maestro; // Para la tabla Detalle AdoDetalle.Datasource := MaestroDatasource; AdoDetalle.Text := 'Select Factura from ventas where idcliente = :id'; AdoDetalle.Open; y ya con eso, al mover un registro del dataset maestro, te va a mostrar sus correspondientes "facturas" del dataset detalle |
una correccion en la lines
MaestroDatasource.Dataset := Maestro; debe ser: MaestroDatasource.Dataset := AdoMaestro; otra cosa, el enlace no tiene que ser por codigo solamente, puede ser en los componentes |
Tu explicación es correcta, pero yo necesito saber la configuración de ClientDatasets, pues necesito trabajar los datos en "memoria" antes de que los cambios sean confirmados, y segun lo que he podido averiguar esto se hace mas fácil con ClientDataSets.
Gracias. |
Pues en los ClientDataSets no hay nada "especial" que configurar, delphi convertirá automáticamente todas las relaciones maestro/detalle en nested datasets al pasar por el provider.
Saludos. ;) |
La franja horaria es GMT +2. Ahora son las 09:20:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi