Delphi - como obtener el resultado de una query

 
Vista:

como obtener el resultado de una query

Publicado por Pedro Fernandez (1 intervención) el 01/05/2004 02:31:04
campos de la base de datos (Access) = RUT / SESION / ZONA / VELOCIDAD / PUNT / LANZ

componentes instalados en el form = ( Query1=TQuery ; DataSouce1=TDataSource ; TABLE1=TTable)

Con un boton deseo realizar la siguiente operacion sobre los campos de la base de datos (sumar el campo PUNT y sacar el promedio del campo VELOCIDAD) luego de haberlos filtrado por RUT y SESION, eso se hace mediante una operacion query, pero tengo un problema....
segun lo observado, la instruccion de filtrar, sumar y sacar promedio se estan ejecutando sin problemas, pero no puedo mostrar o rescatar los resultados..(suma y promedio) para segir trabajando con ellos o simplemente, mostrarlos en el form mediante un label o un edit..(espero haber sido claro en mi duda)...agradeceria si alguien sabe como realizar esta operacion completa me ayude a resolver mi problema...gracias

segun entiendo, el query1 deberia contener 3 datos luego de la ejecucion de la instruccion (rut, suma, promedio)...pero no se como rescatarlos con delphi...
*******************************************************************************
procedure TForm7.Button1Click(Sender: TObject);
var instruccion3:string;
begin
TABLE1.Filter:= 'RUT = 100000001 AND SESION=2';

Query1.Close;
Query1.SQL.Clear;
instruccion3 := 'select rut, sum(punt), avg(velocidad) as suma from consulta_jugadores where rut=100000001 group by rut';
showmessage(instruccion3);
Query1.SQL.Add(instruccion3);
Query1.ExecSQL;

showmessage(query1.Fields[1].Text); // AQUI ES LO QUE NO SE QUE INSTRUCCION PONER PARA OBT
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:como obtener el resultado de una query

Publicado por Gelmin Martinez (58 intervenciones) el 02/05/2004 23:47:50
Cuando un query va retornar algun valor o conjunto de valores en forma de tabla por ejem. (Select...) se ejecuta con Query1.Open y cuando se trata de realizar una accion sin obtener datos por ejem. (Insert, Update...) entonces se hace con Query1.ExecSQL si ejecutas una consulta que lleva una instruccion (select...)
entonces puedes obtener los datos de los campos resultantes de la siguiente forma por ejem. Select rut,sum(punt) as suma,avg(velocidad)as promedio from consulta_jugadores where rut=100000001 group by rut
Query1.open //abres la consulta
y luego puedes obtener el valor del campo que desees asi:
query1.FieldByName('rut').value //valor del campo rut
query1.FieldByName('suma').value //valor del campo suma
query1.FieldByName('promedio').value //valor del campo promedio

Espero te sirva de algo...un saludo Gelmin Martinez (Nicaragua)
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