![]() |
Borrar,Insertar y Modificar con ClientDataSet en Interbase/Firebird
Hola
Estoy con Firebird , tengo 2 tablas , Facturas , DetalleFacturas . En el modulo de datos , tengo 2 TIBQuerys , con esta sentencia . QFacturas : 'Select campos from Facturas' QFacturasDetalle 'Select campos from factura where codigoFactura = :Codigo' Cómo veis tengo un parametro , para que al abrir la tabla , ya tener el detalle de la factura actual. Tengo asociado a cada TIBQuery (mediante el Provider), un TClientDataSet (ClientFactura y ClientFacturaDetalle ) , entro los dos clientDataSet estan establecidos como maestro detalle , así pues al seleccionar un factura , pues el ClientFacturaDetalle , muestra las lineas correspondientes a esa factura . Obviamente , cada vez que el ClientDataSet toma los datos , cierra el TIBQuery correspondiente (de esto me he enterado hace poco). Ahora la pregunta es como se realiza el borrado , inserción y detalle , para que quede registrado en la base de datos . Por que se esta trabajando en caché obviamente . Decir que obviamente los TIBQuery ,estan ligados a un TIBDataBase y a un TIBTransaction. Que componentes utilizar y que instrucciones usar , por que no veo la manera . Obviamente cuando se borra una factura , se tienen que borrar también todos los detalles asociadas a la misma (esto lo quiero hacer por código en Delphi y nunca en la base de datos por integridad referencial) Un saludo |
Para que los cambios vayan a la Base de Datos debes usar
ClientDataset.ApplyUpdates(0) Saludos |
La franja horaria es GMT +2. Ahora son las 21:02:14. |
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