Consulta entre Datas via SQL.

01/04/2003

0

Estou tentando fazer uma consulta por data via sql usando o comando ´BETWEEN´:

Query1.SQL.Add(´WHERE TbVendas.DtPed BETWEEN ´ + ´´´+ Maskedit1.text +´´´+ ´ AND ´ + ´´´+ Maskedit2.text +´´´ );

O problema é que as vezes ele busca mas as vezes não.

Aguém poderia me ajudar a Fazer de um outro modo.

obrigado.


Anonymous

Anonymous

Responder

Posts

01/04/2003

Anonymous

Sempre uso datas como parâmetros, e não diretamente no SQL:

qry.SQL.Text := ´SELECT * FROM TB_CLI WHERE DTCADASTRO >= :DTINI AND DTCADASTRO <= :DTFIM;
qry.ParamByName(´DTINI´).AsString := ´01/03/2003´;
qry.ParamByName(´DTFIM´).AsString := DateToStr(Date);
qry.Open;

Espero ter ajudado!


Responder

01/04/2003

Viviankb

Ola!

Tive a mesma dúvida, use isto...com certeza vai funcionar:

[color=brown:c2bddd251e][/color:c2bddd251e]Antes de escerver a instrução SQL, comece declarando as variáveis:
Data1 do tipo TDateTime;
Data2 do tipo TDateTime;

Passe o texto que provavelmente deve estar em String para Data usando,

Data1:=StrToDate(Edit1.Text);
Data2:=StrToDate(Edit2.Text);



Query1.SQL.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´Select * FROM Clientes´);
Query1.SQL.Add(´WHERE Data BETWEEN :DtInicial AND :DtFinal´);
Query1.ParamByName(´DataInicial´).Value:=Data1;
Query1.ParamByName(´DataFinal´).Value:=Data2;

Abç,

Vivian


Responder

01/04/2003

Weber

Existe um comando no delphi que funciona assim:
´Select * from Cliente where cli_data =´´´+FormatDateTime(´mm/dd/yyyy´,MaskEdit1.Text)+´´´.
Esse comando transforma o edit em uma data que o interbase vai entender, mas eu não sei se funciona no BETWEEN também


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