pequisa entre duas datas e jogar numa dbgrid

Delphi

01/05/2014

galera tem como pesquisar entre duas datas e mostra-la em
um dbgrid eu uso o código abaixo

dtini:=DateTimePicker1.date;
dtfin:=DateTimePicker2.date;
//aqui eu sempre coloco clientedataset.close
begin
With DataModule1.tbl_estoque do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM TBLestoque WHERE data_entrada between :dtini and :dtfin');
Params.ParamByName('dtini').Value := DateTimePicker1.date;
Params.ParamByName('dtfin').Value := DateTimePicker2.date;
Open;
end;
end;
end;

mas não visualizo nada tem como
Jose Silva

Jose Silva

Curtidas 0

Respostas

Wilton Júnior

Wilton Júnior

01/05/2014

vencelog o campo que vc faz a pesquisa entre data é data e hora ou só data
geralmente quando é data e hora eu faço o seguinte

with query do
begin
close;
sql.clear.
sql.add('select * from tabela where campodata >= :wdatini and campodata <= :wdatfin');
parambyname('wdatini').asdatetime := DateTimePicker1.date + strtotime(' 00:00:00.000');
parambyname('wdatfin').asdatetime := DateTimePicker2.date + strtotime(' 23:59:59.999');
open;
end;

GOSTEI 0
Jose Silva

Jose Silva

01/05/2014

amigo WILTON SéRGIO BACALá JúNIOR
na minha tela
é assim

[img]http://arquivo.devmedia.com.br/forum/imagem/361863-20140501-181347.jpg[/img]

ai clico na data inicial ex 20/05/2014
data final 30/05/2014

na dbgrid tem que mostrar somente os registro entre essas datas

GOSTEI 0
Wilton Júnior

Wilton Júnior

01/05/2014

A forma de pesquisar é aquela que te passei mas precisa saber se o campo na qual vc esta utilizando para pesquisar é do tipo date ou datetime (se for firebirbird timestamp), caso seja datetime é da forma que de passe se não for é da forma que vc hoje faz.
Qual a versão do Delphi que vc esta ultilizando para trabalhar?
GOSTEI 0
Jose Silva

Jose Silva

01/05/2014

WILTON SéRGIO BACALá JúNIOR eu uso no banco de dados o campo e date e
uso o mysql
o problema é que quando eu pesquiso entre as duas datas e clico para
gerar relatorio no quick report ele pega tudo

não sei como fazer
GOSTEI 0
Wilton Júnior

Wilton Júnior

01/05/2014

A sintaxe que utilizou usando between tah certa, mas eu faço direto na query e não no datasource como eu entedi...faz um teste inves de fazer o datasource rodar faz a query a vezes funciona melhor.
Testa antes isso no mysql da uma olhada para ver como fica.
GOSTEI 0
Jose Silva

Jose Silva

01/05/2014

WILTON SéRGIO BACALá JúNIOR , valeu mesmo deu certo abrigado
eu estava dando um select na minha tabela e no quick report o datasourse tava no cliente
valeu mesmo
o moderador pode encerrar o post

GOSTEI 0
POSTAR