with AdoQuery3 do
begin
Close;
Sql.Clear;
Sql.Add('select * from xx where date<=:firstdate and date<=:enddate');
Parameters.ParamByName("firstdate') := StrToDate('2001-1-1');
Parameters.ParamByName("enddate') := StrToDate('2001-1-31');
Open;
end;
begin
Close;
Sql.Clear;
Sql.Add('select * from xx where date<=:firstdate and date<=:enddate');
Parameters.ParamByName("firstdate') := StrToDate('2001-1-1');
Parameters.ParamByName("enddate') := StrToDate('2001-1-31');
Open;
end;
你参考一下了,
parameters.parambyname('sss'):='200101';
open;
DataModule1.adoquery3.SQL.Add('select * from xxx where datepart(month,date)=:a');
就可以查出某月的数据,不过在多年数据中就要加入年的判断了。
datepart(year,date)
y, m ,d: word;
FirstDate: TDate;
begin
DecodeDate(date,y,m,d);
FirstDate := StrToDate(IntToStr(y) + '-' + IntToStr(m) + '-' + IntToStr(1));
with AdoQuery3 do
begin
Close;
Sql.Clear;
Sql.Add('select * from xx where date<=:firstdate and date<=:enddate');
Parameters.ParamByName(;firstdate') := FirstDate;
Parameters.ParamByName('enddate') := Date;
Open;
end;
begin
Close;
Sql.Clear;
Sql.Add('select * from xx where date<=:firstdate and date<=:enddate');
Parameters.ParamByName('firstdate').AsDate := StrToDate('2001-1-1');
Parameters.ParamByName('enddate').AsDate := StrToDate('2001-1-31');
Open;
end;