Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Buscar en una consulta (https://www.clubdelphi.com/foros/showthread.php?t=56397)

Vlady 16-05-2008 00:23:17

Buscar en una consulta
 
Buenas amigos del foro. Mi pregunta es la siguiente, tengo una tabla que se llama pintarbotones, esta tabla la lleno mediante un procedure, el problema q tengo es q por ejemplo si existen 100 botones o 200 tengo q realizar para cada boton una consulta y saber su estado algo q es muy ineficiente, existe una forma de tener mi tabla con todos los 100 o 200 botones en memoria y en esta buscar el estado, sin necesidad de realizar de nuevo la consulta.

trabajo con firebird y delphi 7. Gracias

Vlady 16-05-2008 01:21:38

he preguntado y me dicen q con la propiedad filter de la tabla es posible hacer esto, al realizarlo asi no implica volver a hacer la consulta??

poliburro 16-05-2008 01:58:13

Cita:

Empezado por Vlady (Mensaje 287066)
he preguntado y me dicen q con la propiedad filter de la tabla es posible hacer esto, al realizarlo asi no implica volver a hacer la consulta??


Si utilizas la propiedad filter no, pero hacer eso de filtros es tremendamente ineficiente, por que no pruebas con querys?

Neftali [Germán.Estévez] 16-05-2008 10:26:27

Cita:

Empezado por Vlady (Mensaje 287048)
...el problema q tengo es q por ejemplo si existen 100 botones o 200 tengo q realizar para cada boton una consulta y saber su estado algo q es muy ineficiente,

PREGUNTA: ¿Y no puedes hacer la consulta (1 sóla) que te devuelva el estado de los 200 botones? En lugar de hacer 200 consultas.
Una vez tengas el resultado en memoria, el recorrido debe ser inmediato.

Vlady 16-05-2008 16:50:43

"PREGUNTA: ¿Y no puedes hacer la consulta (1 sóla) que te devuelva el estado de los 200 botones? En lugar de hacer 200 consultas.
Una vez tengas el resultado en memoria, el recorrido debe ser inmediato."

Gracias neftali por responder.

Precisamente es esto lo q quiero realizar una consulta que me entregue el estado de los 200 o 300 botones y luego por algun metodo, "he estado pensando en manejarlo en un array" q no tenga q volver a realizar la consulta desde la base de datos encontrar el estado para cada boton. Es decir ya en en memoria local encontrar el estado.

Gracias

Neftali [Germán.Estévez] 16-05-2008 19:00:20

¿Qué es lo que no sabes hacer? ¿La consulta?

Si ejecutas (Open de un Query) un

Código SQL [-]
SELECT * FROM TablaBotones

tedrás el resultado en un DataSet.

Luego puedes recorrerlo utilizando Query.First; Query.Next

Revisa la ayuda, hay ejemplos.

Otra opción puede ser utilizar un ClientDataSet. Eso te cargará automáticamente todos los datos a memoria. A partir de ese momento, puedes desconectar la consulta y trabajar con el ClientDataSet.

juanelo 16-05-2008 19:18:27

Cita:

Empezado por Neftali (Mensaje 287243)
¿Qué es lo que no sabes hacer? ¿La consulta?

Si ejecutas (Open de un Query) un

Código SQL [-]SELECT * FROM TablaBotones


tedrás el resultado en un DataSet.

Luego puedes recorrerlo utilizando Query.First; Query.Next

Revisa la ayuda, hay ejemplos.

Otra opción puede ser utilizar un ClientDataSet. Eso te cargará automáticamente todos los datos a memoria. A partir de ese momento, puedes desconectar la consulta y trabajar con el ClientDataSet.

Adicional a lo que ya te dijo Neftali, puedes crear en tu ClientDataset un indice por el id del boton y luego utilizar la funcion FindKey del client dataset.


La franja horaria es GMT +2. Ahora son las 11:18:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi