Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   recuperar los datos de un select count (https://www.clubdelphi.com/foros/showthread.php?t=90810)

nicolas2109 09-09-2016 12:12:49

recuperar los datos de un select count
 
Hola amigos:
Soy nuevo en c++ y SQL y voy descubriendo lo bueno y complicado que es.
Es estupendo el uso de COUNT en SQL, te permite sumar y consultar valores.
Select familia, COUNT(familia) from ARTICULOS group by familia.
¿ Puedo capturar el resultado en una variable ?
Si el resultado es uno solo, no hay problema, mi problema es cuando hay varias.
Saludos

Neftali [Germán.Estévez] 09-09-2016 14:00:23

Normalmente si eso lo has lanzado con un Query, ADOQuery, FIBQuery,... o similar, lo siguiente es acceder à la propiedad Fields[0] o FieldByName(NombreCampo).

En Delphi sería algo así:

Código Delphi [-]
  cuantos := ADOQuery.Fields[0].AsInteger;

Pásalo tu mismo a Builder.

nicolas2109 09-09-2016 17:54:21

datos selecy count
 
Gracias amigo:
Correcto con FieldByName(NombreCampo) recupero el valor, pero solo del primer dato de la consulta.
Si realizo la consulta con SQL de IBConsole el resultado es un GRID
Familia Cantidad
A 20
B 7
C 14
Seria estupendo usar esto para imprimirlo.
Saludos

Rocio90 22-09-2016 12:54:43

Del tipo:
Fields['A'][0]
?

Casimiro Notevi 22-09-2016 13:13:11

Lee la respuesta de Neftali, es la correcta.

Neftali [Germán.Estévez] 22-09-2016 13:17:55

Cita:

Empezado por nicolas2109 (Mensaje 508646)
Gracias amigo:
Correcto con FieldByName(NombreCampo) recupero el valor, pero solo del primer dato de la consulta.
Si realizo la consulta con SQL de IBConsole el resultado es un GRID
Familia Cantidad
A 20
B 7
C 14

En este caso:

Código Delphi [-]
  sFamilia := ADOQuery.Fields[0].AsString;
  sFamilia := ADOQuery.FieldByName('familia').AsString;
  iCantidad := ADOQuery.Fields[1].AsInteger;
  iCantidad := ADOQuery.FieldByName('cantidad').AsInteger;

Si quieres recorrer todos los registros debes insertar eso dentro de un bucle.


La franja horaria es GMT +2. Ahora son las 18:08:24.

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