Fórum Erro com comando SQL #459162

22/10/2013

0

no Delphi 7 eu usava o seguinte comando SQL:

with query do
begin
close;
sql.clear;
sql.add('select sum(valorcredito) as vrtotal from credito where datadebito >= :dt1 and datadebito <= :dt2 and valorcredito is not null');
parambyname('dt1').asstring:= dt1.text;
parambyname('dt2').asstring:= dt2.text;
open;
end;


o codigo funciona normal no Delphi 7, porém ao usar no XE4, o resultado é sempre nulo.

alguem sabe o que está havendo?

uso ZEOS para me conectar ao banco de dados firebird.

abraços.
Italo Pereira

Italo Pereira

Responder

Posts

23/10/2013

Alessandro Yamasaki

Uma pergunta. Existem dados neste SQL? Talvez um COALESCE resolva seu problema. Faça um teste

Exemplo

SELECT sum(coalesce(valorcredito,0)) as vrtotal
FROM credito
WHERE datadebito >= :dt1 and datadebito <= :dt2
Responder

Gostei + 0

23/10/2013

Italo Pereira

Resolvi assim:
with query do
begin
close;
sql.clear;
sql.add('select sum(valorcredito) as vrtotal from credito where datadebito >= :dt1 and datadebito <= :dt2 and valorcredito is not null');
parambyname('dt1').asdate:= strtodate(dt1.text); //alterei aqui
parambyname('dt2').asdate:= strtodate(dt2.text); //e aqui
open;
end;


nao sei porque, ele nao reconhece da outra forma, mas valew pela dica.
Responder

Gostei + 0

23/10/2013

Alessandro Yamasaki

Q bom conseguiu resolver.
Responder

Gostei + 0

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

Aceitar