Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Providers
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2014
doctorhd doctorhd is offline
Miembro
NULL
 
Registrado: abr 2013
Posts: 48
Poder: 0
doctorhd Va por buen camino
Actualizar TFDMemTable

Hola a todos, tengo la siguiente situación y me gustaría me ayudaran. Necesito leer los datos de una tabla en una base Firebird y que el usuario refresque los datos mostrados a gusto. Para tal efecto utilizo un TFDStoredProc que arroja los datos que necesito mostrar a el enlazo un TFDMemTable, que guardara los datos en memoria y finalmente un TDataSource que enlaza los datos a una grilla de datos, hasta aqui todo bien, los datos se muestran en forma correcta, el problema ocurre cuando intento refrescar los datos mostrados utilizando la siguiente instrucción:
Código Delphi [-]
FDMemTable1.Refresh;
No refresca los datos, existiendo cambios que visualizar (los modifique directamente en la tabla).

Ahora, probé esto mismo utilizando TFDStoredProc -> TDataSetProvider -> TClientDataSet -> TDataSource y
Código Delphi [-]
ClientDataSet.Refresh;
Y funciona....Ustedes me podrán decir porque no utilizo un ClientDataSet en vez de un FDMemTable, pero la idea es ir migrando mis aplicaciones a FireDac...
Espero me puedan ayudar, les recuerdo que solo necesito leer datos.

Gracias
Responder Con Cita
  #2  
Antiguo 10-12-2014
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
Si estamos usando Firedac para accesar los datos no hay razón de peso para usar TFDMemTable como un componente indiviudal, ya que cada dataset de Firedac implementa un TFDMemTable interno.

Con esto quiero decir que puedes realizar directamente las actualizaciones y refresco sobre el componente TFDStoredProc sin necesidad de "trucos" adicionales ya que siempre hay internamente un TFDMemtable para cachear los datos.. Esto es, puedes conectar directamente el datasource a tu FDStoredproc y en el código realizar FDStoredProc.Refresh. Debería funcionar.

Saludos,
Responder Con Cita
  #3  
Antiguo 10-12-2014
doctorhd doctorhd is offline
Miembro
NULL
 
Registrado: abr 2013
Posts: 48
Poder: 0
doctorhd Va por buen camino
Gracias orodriguezca, por tu respuesta, podrias profundizar mas referente a:
Cita:
...ya que cada dataset de Firedac implementa un TFDMemTable interno.
Y si esto es cierto en que casos debería usar un TFDMemTable...

Entendido lo anterior, la instrucción:
Código Delphi [-]
FDMemTable1.Refresh;
debería funcionar, ya que el comportamiento base de este componente es similar a un ClientDataSet

Gracias

Última edición por doctorhd fecha: 10-12-2014 a las 18:53:51.
Responder Con Cita
  #4  
Antiguo 10-12-2014
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
No soy un experto pero, basado en algunos desarrollos que he realizado y en la documentación consultada, puedo decirte que componentes como TFDQuery, TFDStoredProc y TFDTable hacen uso internamente de TFDMenTable para almacenar los datos de las consultas. En el caso del TFDStoredProc es como si tuvieramos un TStoredProc+TDataSetProvider+ClientDataSet en un solo componente.

Entonces, cuando utilizar un TFDMemtable?, Cuando no estamos usando Firedac para accesar los datos y deseamos utilizar la potencia del TFDMemTable o cuando necesitamos utilizar datos tabulares que no provienen de una base de datos relacional, por ejemplo, cargar datos de un archivo cvs.

Puedes consultar esta información: http://docwiki.embarcadero.com/RADSt...able_Questions
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar DBGrid con ADO manu Conexión con bases de datos 8 18-09-2007 03:20:29
Actualizar una aplicación via web. dicatek Internet 3 28-02-2007 02:15:57
Actualizar .exe julian_ch Varios 15 19-11-2006 23:32:50
Actualizar de Fb 1.0.2 a Fb 1.5 Sergio J. Firebird e Interbase 5 07-04-2006 13:03:59
actualizar fabriciof Conexión con bases de datos 3 27-05-2004 15:58:56


La franja horaria es GMT +2. Ahora son las 23:00:46.


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
Copyright 1996-2007 Club Delphi