Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consultar el maximo valor (https://www.clubdelphi.com/foros/showthread.php?t=34634)

beatriz g 16-08-2006 13:18:51

consultar el maximo valor
 
Tengo el siguiente codigo en delphi para realizar una consulta en una base de datos mysql que me devuelva el maximo valor de un campo:

query.SQL.Add('select max(ID_P) from personas');
query.Open;

Asi ejecuto la consulta, pero donde queda almacenado el valor maximo que devuelve la consulta, como puedo acceder este valor.
Gracias.

Bicho 16-08-2006 13:30:48

Hola beatriz, para acceder a ese valor tienes que usar FieldbyName y el tipo de dato en que quieras mostrarlo.

Código Delphi [-]
query.SQL.Add('select max(ID_P) from personas');
query.Open;

ShowMessage(IntToStr(query.fields[1].AsInteger)); //ya que no has especificado un alias de campo a max(ID_IP), 

//si especificas un alias de campo, por ejemplo: max(ID_IP) maximo puedes hacer lo siguiente
ShowMessage(IntToStr(query.Fieldbyname('maximo').asinteger));

//Fields[indice]  le pasas el numero de indice de campo en la select, 
//FieldByName('nombre') le pasas el nombre del campo, sino hicieras un max, podrías especificar: fieldbyname('id_ip')

Espero te sirva

Saludos

yusnerqui 16-08-2006 17:09:21

Bueno solo aclarar que el índice correcto debe ser el cero(0) y no el 1, pues nos estamos refiriendo al primer campo cuyo índice en este caso es el mencionado

Saludos.

Bicho 16-08-2006 17:27:29

Tienes razón yusnerqui, es lo que tiene no usar normalmente Fields, ya que suelo poner siempre un alias de campo.

Gracias por el apunte.

Saludos

Caral 16-08-2006 17:35:53

Creo que la pregunta es mas extensa, el valor se puede visualizar practicamente en cualquier label,edit,memo,panel o mensage como indicaron pero al salir del programa el valor se pierde ya que no se almacena.
si quieres almacenar permanentemente este valor o creas un espacio en la tabla u otra tabla para este en el que el valor se pueda ver con cuarquier db.
saludos


La franja horaria es GMT +2. Ahora son las 22:32:40.

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