Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Obtener resultado de una suma (SQL) (https://www.clubdelphi.com/foros/showthread.php?t=59222)

radge 18-08-2008 15:10:26

Obtener resultado de una suma (SQL)
 
Código Delphi [-]
   cadenaSQL := 'Select sum(total) from Albaran';
   qry_total.SQL.add(cadenaSQL);
   qry_total.open;
   TotalAlbara := qry_total.FieldByName('sum(Total)').asString;
   Qry_total.Close;


Buenas tengo este codigo que intengo obtener la suma de una sql , hago el sql pero despues intento recuperarlo de esta forma y no me deja se os ocurre alguna forma ?¿

gracias , radge

Caro 18-08-2008 15:22:39

Hola radge, puedes darle un alias a tu sum y recuperar por ese alias o utilizar Fields en vez de FieldByName.

Código Delphi [-]
  cadenaSQL := 'Select sum(total) as suma from Albaran';

  TotalAlbara := qry_total.FieldByName('suma').asString;
  //o
  TotalAlbara := qry_total.Fields[0].asString;

Slauditos

radge 18-08-2008 15:30:07

Eso tbien lo habia probado , disculpa por no haver lo dicho .
La variabla "totalalbara" la tengo del tipo string que no lo havia dicho tampoco.


Y me da el siguiente error

Invalid Use of Keyword.
Token : select
Line number : 6

Caro 18-08-2008 15:54:37

Hola de nuevo radge, no hay problema si lo recuperas como cadena, estas seguro que la consulta que le pasas esta bien, porque de ambas formas si funciona, en tu codigo veo que añades la consulta con Add, deberías limpiar tu propiedad SQL cada vez que ejecutes tu consulta. Has probado la segunda forma, puedes hacer la prueba de colocar tu consulta sin ningun alias y recuperarlo con Fields.

Código Delphi [-]
 qry_total.SQL.Clear;
 cadenaSQL := 'Select sum(total) from Albaran';
 qry_total.SQL.add(cadenaSQL);
 qry_total.open;
 TotalAlbara := qry_total.Fields[0].asString;

Saluditos

radge 18-08-2008 16:10:16




Eso he probado ... pero entonces me dice esto que raro....

Lo raro es que cojo el SQL lo pasteo en la sybase y lo ejecuta perfectamente.

look 18-08-2008 16:16:13

Cita:

Empezado por radge (Mensaje 308133)



Eso he probado ... pero entonces me dice esto que raro....

Lo raro es que cojo el SQL lo pasteo en la sybase y lo ejecuta perfectamente.

no se si sea el problema, pero pareciera que no le asignaste la base de datos a la query en la propiedad databasename, no mas digo..

Caro 18-08-2008 16:35:35

Como dice look ese error te da porque no te estas conectando a tu Base de Datos (propiedad DataBaseName), supongo que estas utilizando los componentes de la paleta BDE. Pero no entiendo, en el otro error que te daba, parecia que si te conectabas y había algun error en la consulta.

Saluditos

radge 19-08-2008 12:14:41

Gracias por los mensajes anteriores al final lo arreglé.

Muchas gracias ,

radge


La franja horaria es GMT +2. Ahora son las 19:26:37.

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