Pesquisa entre datas

Delphi

02/09/2003

Ola Pessoal tudo bem?, espero que sim, tenho um tabela chamada servicos com campo data e estou fazendo o seguinte procedimento:

[b:546eb45264]procedure TFrmConsServico.SpeedButton1Click(Sender: TObject); begin with QueryPesServ do begin Close; SQL.Clear; SQL.Add(´SELECT * FROM SERVICO´); SQL.Add(´Where data >=´+char(39)+datetostr(datainicio.Date)+char(39)+´ and data <=´+char(39)+datetostr(datafim.Date)+char(39)); SQL.Add(´Order By Data,Codigo´); ExecSQL; Open; end; if QueryPesServ.RecordCount = 0 then begin messagedlg(´Não existe Serviços neste Período´,mterror,[mbok],0); end; end;[/b:546eb45264]


Só que está retornando o seguinte erro ´TYPE MISMATCH IN EXPRESSION´ estou usando paradoxx com Delphi 6 com componente TQUERY, agradeço antecipadamente.

Atenciosamente,

Lincoln Frank.


Lincoln

Lincoln

Curtidas 0

Respostas

Tecrogerio

Tecrogerio

02/09/2003

Desculpe não entendi muito bem o seu código,

Por que você não usa parâmetro na query????


GOSTEI 0
Mmtoor

Mmtoor

02/09/2003

Prezado colega:
Uso o descrito abaixo, sem erros:

Var
Inicio: String;
Final: String;
begin
If Datetimepicker2.Date < Datetimepicker1.Date Then
begin
ShowMessage(´Intervalo de datas inválido, a data inicial é maior que a data final!´);
Datetimepicker2.Date := Datetimepicker1.Date;
end
Else
begin
Inicio := DateToStr(Datetimepicker1.Date);
Final := DateToStr(Datetimepicker2.Date);
datamodule1.query12.Close;
datamodule1.query12.SQL.Clear;
datamodule1.query12.SQL.Text := ´SELECT * FROM orcamento WHERE data >=:pInicial and data<=:pFinal ORDER BY produto DESC´;
datamodule1.query12.ParamByName(´pInicial´).AsDateTime := StrToDate(Inicio);
datamodule1.query12.ParamByName(´pFinal´).AsDateTime := StrToDate(Final);
datamodule1.query12.Prepare;
datamodule1.query12.Open;
datamodule1.query12.SetFocus
end;
ShowMessage(´Total de registros encontrados na pesquisa: ´ + IntToStr(datamodule1.Query12.RecordCount));

Espero ter ajudado.
MMTOOR2003


GOSTEI 0
Lincoln

Lincoln

02/09/2003

Obrigado a todos. consegui resolver.


GOSTEI 0
POSTAR