看我的程序,成功通过,希望有所借鉴:
//对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;

解决方案 »

  1.   

    select * from purchase EntryDate between StrToDate('1999-1-1') and StrToDate('2000-1-1')
      

  2.   

    SELECT *
    FROM Northwind.dbo.Orders
    WHERE OrderDate < 'May 1, 1997' and OrderDate > 'May 1, 1996'
      

  3.   

    query.sql.add('select * from purchase where entrydate>:data1 and entrydate<:data2');
    query.params[0].asdatetime:=strtodate('1990-1-1');
    query.params[1].asdatetiem:=strtodate('200....');
    ...记不清是strtodate还是strtodatetime了.你都试试吧