Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Valor de los campos en ejecución (https://www.clubdelphi.com/foros/showthread.php?t=31445)

Acanol 08-05-2006 17:29:06

Valor de los campos en ejecución
 
Muy buenas, mi duda es la siguiente,tengo un adoquery conectado con mi base de datos de acces, hago un select a una tabla en runtime para obtener esos campos (en la tabla ahi mas campos ) y poder concateneralo con una cadena para mostrarlos por pantalla o simplemente trabajar con ellos.

Código Delphi [-]
Consulta:=Select Rpm, Marcha From TbDatos;
//...
Adoquery1.Sql.Add(Consulta);
Adoquery1.ExecSql;
//...

Hasta aqui todo perfecto, ahora mi duda es al no tener los fields Rpm y Marcha en el Adoquery1, ¿como puedo acceder a los valores de estos?, es decir si tubiese agregados los fields Rpm y Marcha, acederia a sus valores con Adoquery1Rpm.Value o Adoquery1Marcha.Value, pero al no tenerlos no se como hacerlo, agradezco mucho su ayuda, espero me echen un mano.

waltergomez 08-05-2006 17:45:04

Consulta:='Select Rpm, Marcha From TbDatos';
//...
Adoquery1.Sql.Add(Consulta);
Adoquery1.ExecSql; // no no no
para comandos select usa Open o Active

Adoquery1.Open; o Adoquery1.Active := true;

luego para acceder a los valores de RPM y Marcha usa FieldByName()

with Adoquery1 do
begin
Close;
Adoquery1.Sql.Clear;
Adoquery1.Sql.Add(Consulta);
Adoquery1.Open;
while not Eof do
begin
ShowMessage(FieldByName('RMP').AsString);
ShowMessage(FieldByName('Marcha').AsString);
Next;
end;
end;

Saludos,

Bicho 08-05-2006 17:47:58

No he trabajado nunca con Ado pero por lo que he visto, funciona como un Query normal.

Prueba ha hacer una de las dos siguientes:

Código Delphi [-]
AdoQuery1.FieldByName('RPM').AsString //si es de tipo string, sino, pones del tipo que sea. Pones entre parentesis el nombre del campo igual que en la select

o tambien

Código Delphi [-]
AdoQuery1.Fields[0].AsString; //para así acceder por el índice del campo en la consulta, lo puede usar si tienes campos calculados

Espero te sirva.

Saludos

Acanol 08-05-2006 18:06:24

Gracias por contestar, teneis razon waltergomez y bicho, lo estaba haciendo bien porque prove lo que decia Bicho (AdoQuery1.FieldByName('RPM').AsString ) pero no me funcionaba por lo que dice Waltergomez, es Adoquery1.Open; o Adoquery1.Active := true; y no Adoquery1.ExecSql;

Un saludo y muchas gracias.


// Todos los dias aprendemos algo nuevo, pero tambien podemos enseñarlo ;) ...


La franja horaria es GMT +2. Ahora son las 11:14:05.

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