PDA

Ver la Versión Completa : Como refrescar un ClientDataSet


Oxa78
06-07-2004, 18:53:45
Saludos foro : De antemano Gracias por la Ayuda.

Descripcion del Modelo :

Trabajo con Delphi 5 Enterprise, Base de Datos SQL Server 2000, Sist. Operativo 2000.

Tengo un Query con un DataSetProvider conectado al Query, y un ClientDataSet conectado al DataSetProvider. (Query <- DataSetProvider <- ClientDataSet)

Mi pregunta es : ¿Como refresco los datos del ClientDataSet, sin cerrarlo?

Es decir, si tengo abierto el ClientDataSet, como ejemplo digamos q tengo una lista de trabajadores, y otro usuario modifica el nombre de un trabajador, entonces quiero refrescar el ClientDataSet sin cerrarlo y abrirlo.

Gracias por la ayuda

Joseph Buttgembach
Perú

guillotmarc
07-07-2004, 11:36:25
Hola.

Tienes que cerrarlo y abrirlo. O hacer un Refresh que para el caso es lo mismo.

NOTA: Si no quieres perder la posición del registro actual, puedes guardarte en una variable el valor de clave primaria, y después de refrescar el clientdataset, posicionarte de nuevo en ese registro con un locate.

Saludos.

Oxa78
08-07-2004, 16:16:12
Saludos :

Muchas gracias por la ayuda.
Probare y aplicare tu consejo.

Gracias nuevamente

Joseph Buttgembach
Lima - Perú

CORBATIN
23-07-2004, 21:17:35
Hola para volver a posicionarte en el mismo registro, en un Ttable existen los bookmars (como un puntero al registro actual), no sé si con un clientdataset tiene lo mismo pero si lo tiene, es mejor solución que la anterior, no hace faltar buscar, directamente lo pone en el anterior registro, saludos.

Oxa78
26-07-2004, 22:20:38
Muchas Gracias por la informacion, probe con los bookmarks y funcionan en los clientdatasets.

Saludos

Joseph
Lima - Peru

Nose
28-07-2004, 19:05:33
Hola!

Otra forma sin usar los bookmark, es usar la propiedad Recno, guardas la posición en una variable integer y luego se la asigna, sin más a la propiedad.

Saludos

Oxa78
16-08-2004, 15:58:57
Saludos :

Muchas gracias, por la respuesta, me parece q lo del recno, es mucho mas simple, incluso da la impresion de q ocupa menos recursosl. Aplicare tu consejo...

Gracias

Joseph - Peru

CORBATIN
18-08-2004, 14:36:25
Con el recno nunca lo he probado pero imagina el siguiente caso:

- Coges el recno del regisro que necesitas imagina el 72.

- Seguidamente sigues haciendo cosas y una de ellas es insertar un dato.

- Cuando quieres volver al registro que has guardado es posible que si se ha insertado el nuevo registro anterior al que has guardado, pues entonces el recno ya no es 72 sino 73. Luego al volver a posicionarte en el recno 72 es el registro equivocado, cuando el real debería ser el 73.

Con los bookmars esto no pasa. No intento demostrar nada, solo mostrarte las posibles desventajas de usar recno. Es útil si en las posibles operaciones que vayas a hacer no incluye insertar nuevos registros, en caso contrario, me parecen mejor los bookmars.

Un saludo.

Oxa78
25-08-2004, 00:52:39
Saludos :

No habia notado ese detalle. Realizare pruebas

Gracias