Select Sum()

01/09/2004

0

É 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

Responder

Posts

01/09/2004

Rômulo Barros

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?


Responder

01/09/2004

Macario

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.


Responder

01/09/2004

Rômulo Barros

Acontece a mesma coisa.....

valeu !!!!!

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


Responder

01/09/2004

Macario

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


Responder

01/09/2004

Rômulo Barros

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:


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar