我用了两个datetimepicker
比较语句用between * and *

解决方案 »

  1.   

    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('select * from tablename where billdate between :Dstart and :P_DEnd');
    adoquery1.parameters.parambyname('Dstart').Value := Datetimepricker1.DateTime;
    adoquery1.parameters.parambyname('DEnd').Value := Datetimepricker2.DateTime;
      

  2.   

    还是不行,我用的是           with query4 do
               begin
               query4.Close;
               SQL.Clear;
               SQL.Add('select * from Prod_record where D>=:sd and D<=:ed');
               Parameters.ParamByName('sd').Value := '#'+FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date)+'#';   //格式化时间
               Parameters.ParamByName('ed').Value := '#'+FormatDateTime('yyyy-mm-dd',DateTimePicker2.Date)+'#';
               Open;
               end;
      

  3.   

    报错:
    Type mismath in expression
    我的字段用的是date类型
      

  4.   

    DTP1->Time = StrToTime("00:00:01");
    DTP2->Time = StrToTime("00:00:01");
    int i1,i2;
    i1 = Now() - DTP1->Date;
    i1 = i1 + 1;
    i2 = Now() - DTP2->Date;
    where (now - Log_Date) between  "+IntToStr(i2)+" and "+IntToStr(i1);