![]() |
Al guardar un clientDataSet en archivo no me mantiene los cambios
Hola
Tengo un clientDataSet en memoria, creado en tiempo de ejecución, es decir no esta enganchado a ninguna Query, toma los datos de un archivo, lo cargo en un grid, hago modificaciones, inserciones y borrado. Luego mediante guardo los cambios mediante un savetofile en el archivo, pero resulta que me guarda los registros borrados, los modificados, etc... No puedo hacer un applyupdate, porque da error, puesto que como he dicho no tiene Provider, al no tener Query. Cual sería la instrucción para que guarde los cambios y no tenga en memoria los modificacos. He probado con la instrucción MergeChangeLog, pero hace cosas raras, a veces guarda, a veces recupera, entras y sales y el resultado varia. Un saludo |
Hola David, lo que yo hago, despues de hacer un LoadFromFile es asignar a la propiedad LogChanges a False, ya que viene por defecto con True. Esta propiedad controla el registro de cambios, es por eso que vemos en el archivo todos los cambios que vamos haciendo en el ClientDataSet, si le damos false, los cambios se hacen directamente. Esta propiedad no la ves en diseño, por lo que tienes que cambiarla en ejecución y siempre despues del LoadFromFile, porque cada ves que llames a ese procedimiento el LogChange se pone en True.
Saluditos |
La franja horaria es GMT +2. Ahora son las 04:59:44. |
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