Array
(
)

Select Sum()

Rômulo Barros
   - 01 set 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);

:arrow: O certo é para aparecer: 1698
:?: Mas aparece: 169?

Essa interrogação eu não sei de onde vem !!!!


Rômulo Barros
   - 01 set 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?


Macario
   - 01 set 2004

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


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


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

o correto não seria:


:arrow: Showmessage(IntToStr(Qry.Fieldbyname(´Total´).Asinteger));

espero ter ajudado.


Rômulo Barros
   - 01 set 2004

Acontece a mesma coisa.....

valeu !!!!!

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


Macario
   - 01 set 2004

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


Rômulo Barros
   - 01 set 2004


Citação:
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: