Sql Data Urgênte

Delphi

17/02/2003

O que estar errado Com essa SQL
pois só ta dando erro nesta linha: som.SQL.Add(´Where data =´+DBEdit1.text);

som.Close;
som.SQL.Clear;
som.SQL.Add(´Select count(Itens) as Hq,Sum(VALOR)As TOTAL´);
som.SQL.Add(´From Requ´);
som.SQL.Add(´Where data =´+DBEdit1.text);
som.Open;
a:= som.fieldbyname(´TOTAL´).asCurrency;
d:= som.fieldbyname(´Hq´).asCurrency;
som.Close;


Well

Well

Curtidas 0

Respostas

Oriundo

Oriundo

17/02/2003

Utilize a clausula ´GROUP BY´ para Count(Item) :

utilize : ´GROUP BY 1´


O que estar errado Com essa SQL pois só ta dando erro nesta linha: som.SQL.Add(´Where data =´+DBEdit1.text); som.Close; som.SQL.Clear; som.SQL.Add(´Select count(Itens) as Hq,Sum(VALOR)As TOTAL´); som.SQL.Add(´From Requ´); som.SQL.Add(´Where data =´+DBEdit1.text); som.Open; a:= som.fieldbyname(´TOTAL´).asCurrency; d:= som.fieldbyname(´Hq´).asCurrency; som.Close;



GOSTEI 0
Anonymous

Anonymous

17/02/2003

O que estar errado Com essa SQL pois só ta dando erro nesta linha: som.SQL.Add(´Where data =´+DBEdit1.text); som.Close; som.SQL.Clear; som.SQL.Add(´Select count(Itens) as Hq,Sum(VALOR)As TOTAL´); som.SQL.Add(´From Requ´); som.SQL.Add(´Where data =´+DBEdit1.text); som.Open; a:= som.fieldbyname(´TOTAL´).asCurrency; d:= som.fieldbyname(´Hq´).asCurrency; som.Close;


som.SQL.Add(´Where data =´´´+DBEdit1.text+´´´´);
Pode ser isso, o campo date é informado como string.


GOSTEI 0
Well

Well

17/02/2003

som.SQL.Add(´Where data =´´´+DBEdit1.text+´´´´);
Pode ser isso, o campo date é informado como string
Como faço para resolver?


GOSTEI 0
Anonymous

Anonymous

17/02/2003

O que estar errado Com essa SQL pois só ta dando erro nesta linha: som.SQL.Add(´Where data =´+DBEdit1.text); som.Close; som.SQL.Clear; som.SQL.Add(´Select count(Itens) as Hq,Sum(VALOR)As TOTAL´); som.SQL.Add(´From Requ´); som.SQL.Add(´Where data =´+DBEdit1.text); som.Open; a:= som.fieldbyname(´TOTAL´).asCurrency; d:= som.fieldbyname(´Hq´).asCurrency; som.Close;


Olá, tente dessa maneira...
Um campo que é string deve receber um parâmetro dessa maneira:

som.SQL.Add(´Where data = + ´´´´ + DBEdit1.text + ´´´´);

coloque sempre 4 aspas simples para formar uma aspa...... e o concatene com o DBEdit e mais uma aspa no final..

[]´s

Qualquer dúvida escreva novamente

Sinegalia


GOSTEI 0
Anonymous

Anonymous

17/02/2003

Olá, não sei direito se é o seu caso mas em todo caso !!!!!

verifique de que forma o dbedit1 esta fornecendo a data para a consulta pois comigo tb não dava certo pois a data era passada assim
01/01/2003, se estiver assim formate ela para 01-jan-2003.....comigo o problema era este, não sei se ira funcionar mas vale a pena tentar.

obs. o mes deve ser informado no formato americano :
jan - janeiro / feb - fevereiro etc...

espero ter ajudado


GOSTEI 0
Anonymous

Anonymous

17/02/2003

Olá, não sei direito se é o seu caso mas em todo caso !!!!!

verifique de que forma o dbedit1 esta fornecendo a data para a consulta pois comigo tb não dava certo pois a data era passada assim
01/01/2003, se estiver assim formate ela para 01-jan-2003.....comigo o problema era este, não sei se ira funcionar mas vale a pena tentar.

obs. o mes deve ser informado no formato americano :
jan - janeiro / feb - fevereiro etc...

espero ter ajudado


GOSTEI 0
Navoid

Navoid

17/02/2003

faça assim

****
som.Close;
som.SQL.Clear;
som.SQL.Add(´Select count(Itens) as Hq,Sum(VALOR)As TOTAL´);
som.SQL.Add(´From Requ´);
som.SQL.Add(´Where data = :pdata´);
som.parambyname(´pdata´).asdatetime:= strtodate(DBEdit1.text);
som.Open;
a:= som.fieldbyname(´TOTAL´).asCurrency;
d:= som.fieldbyname(´Hq´).asCurrency;
som.Close;
****

vc só tem que verificar qto a configuração de datas no micro.

até


GOSTEI 0
POSTAR