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
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