Select Sum()

Delphi

01/09/2004

É o seguinte: Estou utilizando Delphi 6.0 com IB 6.0 e DBExpress.

Tenho a seguinte tabela:

Funcionarios
Codigo_Func Integer;
Nome_Func Varchar(90);
Pontos_Func Integer;

Quando executo:

Qry.Sql.Text := SELECT NOME_FUNC, SUM(PONTOS_FUNC)As Total FROM FUNCIONARIOS GROUP BY NOME_FUNC;

Showmessage(Qry.Fieldbyname(´Total´).AsString);

[color=red:cc0714445a] :arrow: O certo é para aparecer: 1698
:?: Mas aparece: 169?[/color:cc0714445a]

[color=red:cc0714445a]Essa interrogação eu não sei de onde vem !!!! [/color:cc0714445a]


Rômulo Barros

Rômulo Barros

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

01/09/2004

Observação:

O component SqlConnection está definido com SQLDIALECT = 3.
Já o Arquivo.Gdb está definido como SQLDIALECT = 1;

Como deve fazer para que tudo ocorra corretamente?


GOSTEI 0
Macario

Macario

01/09/2004

Cara se o codigo que voce postou for o que voce esta usando,
observe essa linha


:arrow: [b:c62d0a3052]Showmessage(Qry.Fieldbyname(´Total´).AsString);[/b:c62d0a3052]


talvez esteja ocorrendo o erro na hora da conversão.

o correto não seria:


:arrow: [color=red:c62d0a3052][b:c62d0a3052]Showmessage(IntToStr(Qry.Fieldbyname(´Total´).Asinteger));[/b:c62d0a3052][/color:c62d0a3052]

espero ter ajudado.


GOSTEI 0
Rômulo Barros

Rômulo Barros

01/09/2004

Acontece a mesma coisa.....

valeu !!!!!

Obs: no ibconsole acontece tudo legal... só dá erro pelo dlephi


GOSTEI 0
Macario

Macario

01/09/2004

Tipo agora so por curiosidade voce ja tentou por no SqlConnection
Sqldialect igual ao do banco????


GOSTEI 0
Rômulo Barros

Rômulo Barros

01/09/2004

Tipo agora so por curiosidade voce ja tentou por no SqlConnection Sqldialect igual ao do banco????


Acho q isso não vem ao caso, uma vez que criei ums Stored Procedure que faz o mesmo SELECT, e o resultado vem correto.

Não sei o q está acontecendo.. mas sei q consegui resolver apenas com uma SP.

:idea: :idea: :idea:


GOSTEI 0
POSTAR