![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
|
Resultado tquery
Hola a todos,
¿Como puedo coger los datos que me devuelve una query?tengo en mi programa una tquery que consulta un numero variable de columnas, estas columnas tengo que leerlas despues una a una. Mis datos en la tabla los tengo de la siguiente forma.
Y el codigo que habia escrito y no me funciona es el siguiente Código:
filtro:='select * from tabla where cod like '1.*'; consulta.sql.text:=filtro; consulta.execsql; consulta.open; if consulta.recordcount <> 0 then begin //RECOGO LOS DATOS end; |
|
#2
|
||||
|
||||
|
Código:
filtro:=consulta.sql.text:='select * from tabla where cod like '1.*'; consulta.open; While Not Consulta.Eof do begin showMessage(Consulta.fields[0].AsString); Consulta.Next; end;
__________________
Conoce mi blog http://www.edgartec.com |
|
#3
|
||||
|
||||
|
Cita:
Creo que una buena forma sería a través de un array dinámico:
No se si esto es lo que pides. No he probado aún este código pero la idea está. No conozco una función que te levante directamente los valores de la consulta y los mande a un array pero supongo que con esto se arregla la cosa...
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
|
#4
|
||||
|
||||
|
Gracias por vuestra ayuda.
Al final hice lo que me digiste poliburro, y me funciono, lo unico que al ser un tabla con mas de 150000 registro acaba el pc por quedarse sin memoria. Y he cambiado la forma de hacerlo, lo he echo con un ttable utilizando la propiedad de filter, pero me vuelve a dar problemas en la segunda pasada del bucle que se encarga de dar la condicion de filtrado me da un error cuando intento establecer el nuevo filtro: Código:
while not tabla1.eof do
begin
tabla2.filter:='codigo='''+tabla1Cod.asstring'''';
tabla2.filtered:=true;
if tabla2.recordcount <> 0 then
begin
while not tabla2.eof do
begin
res:=res + tabla2Texto.asstring;
tabla2.next;
end
tabla2.filtered:=false;
{Inserto en otra tabla}
end
tabla1.next;
end
si alguien me pudiera echar una mano se lo agradeceria Un saludo |
|
#5
|
||||
|
||||
|
Estas planteando una situacion master detail, ubica informacion sobre eso en el foro que se ha tratado varias veces.
En resumen la tabla1 seria la maestra y la tabla2 la detalle, cada vez que se mueva la tabla1 automaticamente se filtran los registros en la 2
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
|
#6
|
||||
|
||||
|
voy a probar lo que me dices de maestro detalle, haber que tal, me acabas de dar una idea.
gracias |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Resultado vacío [TQuery] | senda | SQL | 9 | 29-06-2007 21:53:20 |
| sql resultado | carols018 | MySQL | 2 | 23-11-2006 16:48:17 |
| TQuery | nenufer | Conexión con bases de datos | 2 | 22-05-2006 16:41:03 |
| Búsquedas a través de TTable y/o TQuery y resultado en DBGrid | nax | Conexión con bases de datos | 5 | 11-02-2005 05:08:55 |
| Resultado TQuery tabla de PostgreSQL | jomf | PostgreSQL | 2 | 03-01-2005 18:25:43 |
|