看我的程序,成功通过,希望有所借鉴:
//对Flatcombobox5.text中的时间进行处理。
if Flatcombobox5.text='全部' then
begin
Tstr:='select htnumber,housenm,name,sex,shenfenhao,jobposit,peoplenumber,uses,entertime,memo from zhuser';
TTstr:='select count(*) as recordcounts from zhuser';
if Query10.Active then
Query10.Active:=false;
Query10.sql.clear;
Query10.sql.SetText(pchar(Tstr));
query10.active:=true;
if Query11.Active then
Query11.Active:=false;
Query11.sql.clear;
Query11.sql.SetText(pchar(TTstr));
query11.active:=true;
end
else
begin
Timeyear:=flatcombobox5.text;
//对query10 ,query11操作
Tstr:='select htnumber,housenm,name,sex,shenfenhao,jobposit,peoplenumber,uses,entertime,memo from zhuser where (entertime>=:Timebegin)and(entertime<=:Timeend)';
TTstr:='select count(*) as recordcounts from zhuser where (entertime>=:Timebegin)and(entertime<=:Timeend)';
if Query10.Active then
Query10.Active:=false;
Query10.sql.clear;
Query10.sql.SetText(pchar(Tstr));
Query10.ParamByName('timebegin').AsDatetime := strtodate(timeyear+'-1-1');
Query10.ParamByName('timeend').AsDatetime := strtodate(timeyear+'-12-31');
query10.active:=true;
if Query11.Active then
Query11.Active:=false;
Query11.sql.clear;
Query11.sql.SetText(pchar(TTstr));
Query11.ParamByName('timebegin').AsDatetime := strtodate(timeyear+'-1-1');
Query11.ParamByName('timeend').AsDatetime := strtodate(timeyear+'-12-31');
query11.active:=true;
end;
end;
//对Flatcombobox5.text中的时间进行处理。
if Flatcombobox5.text='全部' then
begin
Tstr:='select htnumber,housenm,name,sex,shenfenhao,jobposit,peoplenumber,uses,entertime,memo from zhuser';
TTstr:='select count(*) as recordcounts from zhuser';
if Query10.Active then
Query10.Active:=false;
Query10.sql.clear;
Query10.sql.SetText(pchar(Tstr));
query10.active:=true;
if Query11.Active then
Query11.Active:=false;
Query11.sql.clear;
Query11.sql.SetText(pchar(TTstr));
query11.active:=true;
end
else
begin
Timeyear:=flatcombobox5.text;
//对query10 ,query11操作
Tstr:='select htnumber,housenm,name,sex,shenfenhao,jobposit,peoplenumber,uses,entertime,memo from zhuser where (entertime>=:Timebegin)and(entertime<=:Timeend)';
TTstr:='select count(*) as recordcounts from zhuser where (entertime>=:Timebegin)and(entertime<=:Timeend)';
if Query10.Active then
Query10.Active:=false;
Query10.sql.clear;
Query10.sql.SetText(pchar(Tstr));
Query10.ParamByName('timebegin').AsDatetime := strtodate(timeyear+'-1-1');
Query10.ParamByName('timeend').AsDatetime := strtodate(timeyear+'-12-31');
query10.active:=true;
if Query11.Active then
Query11.Active:=false;
Query11.sql.clear;
Query11.sql.SetText(pchar(TTstr));
Query11.ParamByName('timebegin').AsDatetime := strtodate(timeyear+'-1-1');
Query11.ParamByName('timeend').AsDatetime := strtodate(timeyear+'-12-31');
query11.active:=true;
end;
end;
FROM Northwind.dbo.Orders
WHERE OrderDate < 'May 1, 1997' and OrderDate > 'May 1, 1996'
query.params[0].asdatetime:=strtodate('1990-1-1');
query.params[1].asdatetiem:=strtodate('200....');
...记不清是strtodate还是strtodatetime了.你都试试吧