Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Borrar,Insertar y Modificar con ClientDataSet en Interbase/Firebird (https://www.clubdelphi.com/foros/showthread.php?t=44867)

David 16-06-2007 19:31:42

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

Fita 16-06-2007 22:59:38

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 19:28:20.

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