![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Consultar en memoria
Hola amigos del club delphi gracias por sus valiosa colaboración, pero ahora tengo otra dificultad, tengo un procedimiento que realiza varias subconsultas y me retorna un resultado de la combinación de varias tablas, el problema que tengo es q no deseo realizar la consulta desde la base de datos cada vez q lo requiera, si no q deseo realizar la consulta una vez se corra el programa y luego en base a los resultado q se encuntran en memoria realizar los select q necesite pero en base a los resultados q ya consulte sin volver hasta la base de datos para economizar tiempo el problema es q no se como se puede realizar una consulta a un Query q solo se encuntra cargado en memoria. Si alguien me puede ayudar le agradeceria. Utilizao Firebird 2.0 y delphi 7.
Gracias |
#2
|
||||
|
||||
Las RX (unos componentes) contienen uno que se llama RxMemoryData.
De todos modos, si abres una tabla con tu consulta y obtienes todo los datos, no deberás volver a lanzar la consulta cada vez. Muévete con Tabla.Next, Tabla.Prior (adelanta, atras) y Tabla.First, Tabla.Last (primero, último) Los datos estarán allí hasta que cierres la tabla. |
#3
|
||||
|
||||
Puedes usar un ClientDataset y usar la propiedad Filter y Filtered.
Asi puedes recortar tu consulta en memoria a la hora de presentarla, usando condiciones que pondrias en "where". Saludos.
__________________
Ya tengo Firma! |
#4
|
|||
|
|||
PUEDES CREAR VISTAS DEFINENTO LA LOGICA DE TU COMANDO SQL, UNA VES CREADA ESTA VISTA, ESTA PUEDE SER UTILIZADA COMO UNA TABLA de tu BD..
ejemplo:
Podrias consultar en el caso a los clientes unicamente asi..
Y o tambine en el caso de relaciarlos con otro dato podria ser algo asi..
Esta es la finalidad de las VISTAS... simplificar los metodos de consulta..
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton |
#5
|
||||
|
||||
Yo utilizaría TClientDataset, eso te facilitará tener ese bloque da datos en memoria con el código que tienes ahora sin toar nada; Sólo debes añadir ese componente a tu formulario (y conectarlo con tu Query) y una vez ejecutada la consulta cargará los datos a memoria.
A partir de ahí ya puedes cerrar el query y trabajar con esos datos. Lo que no podrás hacer son nuevas consultas SELECT como comentas; Para trabajar con esos datos, como te ha dicho podrás hacer recorrridos, filtros, ordenaciones, pero no SELECT.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
||||
|
||||
Cita:
Obtienes el resultado de la consulta de firebird y lo guardas en formato csv o xls en el disco duro del usuario. Una vez que generaste ambos archivos conectas ADO con estos origenes de datos y puedes ejecutar consultas sobre ellos. Como mencionan previamente. TClientDataset puede ser otra opción. Saludos
__________________
Conoce mi blog http://www.edgartec.com |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
dbgrid consultar | ekstase | MySQL | 2 | 26-11-2007 05:32:41 |
Poblema al consultar!! | magnu9 | Conexión con bases de datos | 3 | 08-11-2006 22:01:46 |
Consultar un archivo .xls | mgiorno | Tablas planas | 0 | 11-06-2005 17:06:45 |
Consultar una query | Eolo | Firebird e Interbase | 2 | 26-09-2003 16:35:22 |
Como consultar | NickName | Firebird e Interbase | 4 | 17-05-2003 04:40:19 |
![]() |
|