PDA

Ver la Versión Completa : TClientDataSet vs. Ttable


amadis
05-04-2006, 00:00:48
Estimados colegas!

En este post van 2 preguntas interesantes para debatir. :cool:

1º ::confused:
Utilizar un TClientDataSet que toma datos de un TTable y luego se maneja todo con el ClientDataSet por cuestiones de flexibilidad.

¿me deja más pesado o lento mi programa???
¿Cuando mi programa arranca y carga los 2 componentes en cuestion estoy ocupando el doble de memoria verdad?.


Luego de aclarar que uso el ClientDataset y no la table por cuestiones de usar campos lookup como Indices y lookup con locates, pasamos a la siguiente.

La 2º pregunta es : :confused:
¿existe una forma optima de ligar la actualizacion del ClientDataSet al Ttable? que no sea en cada evento (post, edit, delete, etc) del ClientDataSet hacer un ApplyUpdate y un refresh ???
(ya que sino hago el refresh no veo los cambios que hice en la edicion que se posteo?)

Creo que este post servirá de ayuda a muchos. :D

fredo
05-04-2006, 14:42:48
:) puedes usar dbexpress tienes el TSimpleDataSet, este contiene mas o menos lo que quieres (hacer todo en un solo componente)..... en cuanto a memoria...no he visto el funte, pero deberias ocupar más memoria por cada Dataset que exista "activo", ya sea TTable, TQuery, o cualquiera que decienda de este....

¿existe una forma optima de ligar la actualizacion del ClientDataSet al Ttable? que no sea en cada evento (post, edit, delete, etc) del ClientDataSet hacer un ApplyUpdate y un refresh ???
(ya que sino hago el refresh no veo los cambios que hice en la edicion que se posteo?)


los metodos edit, post, delete, van ligados la clase dataset, esto no implica que se posteen los cambios en tus bases de datos cuandos los llamas, sino solo en memoria, por lo cual si quieres reflejar los cambios deberas refrescar y/o aplicar los cambios con applyupdateo con algun procedimiento o funcion construida por ti...., aun que la forma mas optima es trabajar directamente en el componente... no entiendo ¿por que usas el ClientDataSet para lookups.....????