Delphi - Accesar los datos de un Query

 
Vista:
sin imagen de perfil

Accesar los datos de un Query

Publicado por Jeffre Fuentes (13 intervenciones) el 01/06/2003 05:38:11
Hola.
Necesito de su ayuda (otra vez :-D)

El problema que tengo es este.
Cargo una consulta.
ADOQUERY1.SQL.ADD('SELECT Nombre, Id FROM PERSONA WHERE (Id > 20))');
Adoquery1.Open;

Supongamos que eso me deja como resultado 5 registros, en un DBGrid se vería algo así:

Nombre Id
Juan 21
Pedro 22
Juieta 23
Sharon 24
Claudio 25

Lo que necesito es algún método para poder accesar nombre por nombre en esa consulta, sin tener que recurrir a un dbgrid.
Por ejemplo, algo así como

for i := 0 to 5 do
begin
ShowMessage('Valor en: ' + inttostr(i) + '= ' + AdoQuery1.ValueAt[i].asString);
end;

Suponiendo que lo anterior funcionara, deberian aparecerme 5 mensajes así:
- Valor en: 1 = Juan
-
Valor en: 2 = Pedro

- Valor en: 3 = J uieta

- Valor en: 4 = Sharon

- Valor en: 5 =Claudio

¿Entienden la idea?. Accesar 1 por 1 los valores que retornó la consulta del AdoQuery1. Lo que quiero saber es si el AdoQuery tiene algún método para poder hacer algo similar a eso, o bien, tal vez alguno de uds sepa de algún "truco" para poder implementarlo.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Accesar los datos de un Query

Publicado por BigLuis (463 intervenciones) el 01/06/2003 17:42:00
Prueba esto:
var
Lista:TStringList;
begin
if ADOQuery.RecordCount>0 then
begin
try
Lista:=TStringList.Create;
ADOQuery.First;
While not ADOQuery.Eof do
begin
Lista.Add(ADOQueryNombre.Value+#9+inttosrt(ADOQueryEdad.Value));
ADOQuery.Next;
end;//While
//Haz lo que quieras con la Lista (SavetoFile etc.)
finally
Lista.Free;
end;//try
end;//if
end;
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Accesar los datos de un Query

Publicado por lyhisa (6 intervenciones) el 10/06/2003 22:51:23
vere si te puedo ayudar..
pones un ciclo while {mientras la AdoQuery1 en fin con AdoQuery1.EOF}
begin
ShowMessage('Valor en: ' + AdoQuery1.FieldValues['nombre']);
AdoQuery1.next;
end;

Fieldvalues es para acceder al valor del campo que le pones de parametro
y te muestra los nombres de la consulta uno a uno

espero que te sirva la idea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar