Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Optimizar clientDataSet (https://www.clubdelphi.com/foros/showthread.php?t=68797)

Kenobi 07-07-2010 17:13:26

Optimizar clientDataSet
 
Hola amigos, tengo una aplicación para la que uso clientDataset a fin de mantener en memoria datos temporales, ahora bien cuando uso dicho control actualizandolo solo una o pocas veces todo va bien, sin embargo cuando el proceso lo exige se hacen actualizaciones rapidas (llenado y vaciado) dentro de ciclos repetitivos, estoy notando que el componente a veces queda "tocado" como con memoria de procesos anteriores, ojo solo con inserciones y borrados recurrentes... para borrar el control utilizo el
Código Delphi [-]
tabla.emptyDataset
pero me pregunto sera util hacer ademas de eso un ..
Código Delphi [-]
tabla.free
o ...
Código Delphi [-]
tabla.refresh
la pregunta es desde el punto de vista de la optimización cual de estas opciones o combinaciones de instrucciones seria la optima....

Gracias amigos espero su respuesta.....

ContraVeneno 07-07-2010 19:10:28

Una cosa es cerrar la tabla y otra muy distinta cerrar el clientdataset...

supongo que te falta cerrar y actualizar el clientdataset.

Kenobi 07-07-2010 22:20:46

No me queda claro
 
Que tal contraveneno, la verdad no me queda muy claro que es lo que hace el metodo emptyDataSet ( hay la posibilidad de ver el codigo a ver que hace, si es asi como) en todo caso segun lo que propones seria algo asi ....


tabla:tclientDataSet;

tabla:emptyDataSet;
tabla:close;
tabla.open;

por eso quiero ver el codigo para ver como se hace, me viene a la mente la diferencia entre

Código SQL [-]
delete table

y

Código SQL [-]
truncate table

el segundo es mas eficiente ya que destruye el contenido el otro es secuencial por eso tarda mas ...pues bien lo que quiero es hacer un equivalente a truncate con el clientDataset porque los datos que el guarda se cambian constantemente durante la operacion y son muy importantes para el resultado final ....


Gracias por tu respuesta ....


La franja horaria es GMT +2. Ahora son las 19:19:12.

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