Fórum Pesquisa com data em sql #168616
09/07/2003
0
Tenho 2 Maskedit do tipo data, onde eu coloco duas datas referentes a 1 período (ex: 10/05/02 a 15/05/03)
E tenho uma tabela com o campo Treinamento e data;
Queria fazer uma pesquisa onde retornasse os treinamentos executados no período digitado nos maskedit.
Um dos problemas que eu encontrei, é que parece que o sql usa o formato MM/DD/AA, talvez seja por isso que esteja dando errado.
Se alguém puder me ajudar...
Obrigado,
Rafael
E tenho uma tabela com o campo Treinamento e data;
Queria fazer uma pesquisa onde retornasse os treinamentos executados no período digitado nos maskedit.
Um dos problemas que eu encontrei, é que parece que o sql usa o formato MM/DD/AA, talvez seja por isso que esteja dando errado.
Se alguém puder me ajudar...
Obrigado,
Rafael
Rjanuzzi
Curtir tópico
+ 0
Responder
Posts
09/07/2003
Cdaraujo
Caro amigo,
Vc poderá deixar a responsabilidade da formatação para os parâmetros do TQuery, veja como se faz:
procedure TForm1.Button1Click(Sender: TObject);
var
Dt1, Dt2:TDate;
begin
try
Dt1 := StrtoDate(MaskEdit1.Text);
except
ShowMessage(´Data para o MaskEdit1, incorreta!´);
end;
try
Dt2 := StrtoDate(MaskEdit2.Text);
except
ShowMessage(´Data para o MaskEdit2, incorreta!´);
end;
if Dt1 > Dt2 then
begin
ShowMessage(´Data para o MaskEdit1 é maior que MaskEdit2!´);
Exit;
end;
with Query1, Sql do
begin
Clear;
Add(´SELECT * FROM TABELA´);
Add(´WHERE DATA >=:D1´);
Add(´ AND DATA <=:D2 ´);
ParamByName(´D1´).AsDateTime := D1;
ParamByName(´D2´).AsDateTime := D2;
Open;
end;
end;
Atenciosamente,
Daniel Araújo
Vc poderá deixar a responsabilidade da formatação para os parâmetros do TQuery, veja como se faz:
procedure TForm1.Button1Click(Sender: TObject);
var
Dt1, Dt2:TDate;
begin
try
Dt1 := StrtoDate(MaskEdit1.Text);
except
ShowMessage(´Data para o MaskEdit1, incorreta!´);
end;
try
Dt2 := StrtoDate(MaskEdit2.Text);
except
ShowMessage(´Data para o MaskEdit2, incorreta!´);
end;
if Dt1 > Dt2 then
begin
ShowMessage(´Data para o MaskEdit1 é maior que MaskEdit2!´);
Exit;
end;
with Query1, Sql do
begin
Clear;
Add(´SELECT * FROM TABELA´);
Add(´WHERE DATA >=:D1´);
Add(´ AND DATA <=:D2 ´);
ParamByName(´D1´).AsDateTime := D1;
ParamByName(´D2´).AsDateTime := D2;
Open;
end;
end;
Atenciosamente,
Daniel Araújo
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)