PDA

Ver la Versión Completa : Como hacer uso de TDatasetProvider?


mpedra
24-11-2006, 20:12:12
Hola:

Despues de agotar a compañeros de trabajo, he decidido preguntar en otros lares y dejarlos descansar, de mi obsesión, un rato.

Bueno el tema es así:

(Estoy trabajando con Delphi 5)

Tengo una Query1 que funciona en cacheupdates=true, es decir una consulta que mantengo abierta con datos, en la cual puedo realizar modificaciones a los mismos, agregar y eliminar registros.

La idea que me obsesiona es poder utilizar un ClientDataset para realizar la edición de los datos de esta query. Para ello he colocado un cds:TClientDataset y un dsp:TDatasetProvider.

Al dsp le seteo la propiedad ResolvetoDataset := true (que según el manual, con este valor el provider actualiza los datos sobre el dataset (Query1) y no sobre la base de datos.

--> Actualizacion del Query1:
cds.ApplyUpdates; (De esto se encargaria el TDatasetResolver del dsp)

--> Actualizacion sobre la base de datos:
Query1.ApplyUpdates;

Tengo las propiedades que conectan a estos objetos entre si correctamente seteadas.

dsp.Dataset:=Query1;
cds.ProviderName:='dsp';

Ahora bien:

Abro la Query1 y luego abro el cds para que recupere datos del Query1 atravez del dsp. Y efectivamente recupera los datos sobre el cds... pero me cierra la Query1, con lo que me deja sin posibilidades de realizar actualizaciones....


Bueno la duda termina siendo:
Que hago mal?
por que se me cierra el Query1?

Espero haber sido claro, y desde ya gracias por la ayuda

Marcos