delphi dbgrid 过滤器 问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 05:20:13
dbgrid中显示了表中信息,包括了时间如: 1999-11-11 这样格式的串,想通过过滤器限制,查2个时间之间的一些数据,请问怎么限制过滤器的语句
dbgrid的数据集是adodataset

//加2个datetimepicker控件,代码如下(不清楚可以问,QQ452767543):

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.text:='SELECT * FROM customer WHERE InDate between :a AND :b ';
Parameters.ParamByName('a').Value:=datetimepicker1.DateTime;
parameters.ParamByName('b').Value:= datetimepicker2.DateTime;
Open;
end;
end;

用过滤器就可以了。dbgrid的数据集比如说是adoquery,代码如下:
adoQuery.Filtered:=False;
adoQuery.Filter:= 'CONVERT(varchar(100), InDate, 23) between ''2006-05-16 '' and ''2006-05-16'' ‘;
adoQuery.Filtered:=True;