select * from db_rkd where shid='QS123456789' and (rq>='2010-8-22' and rq<='2010-8-22');shid的值为Edit1.Text
rq是DateTimePicker弄了好几次都不对,郁闷死了!~

解决方案 »

  1.   

    'select * from db_rkd where shid='''+Edit1.Text+''' and ('''+rq+'''>=''2010-8-22'' and '''+rq+'''<=''2010-8-22'')';
      

  2.   


    var
      sqlstr: string;
    begin
      ...
      sqlstr := 'select * from db_rkd where shid = ' + QuotedStr(Edit1.Text) +
        ' and rq >= ' + QuotedStr(FormateDateTime('YYYY-MM-DD', DateTimePicker1.Date)) +
        ' and rq <= ' + QuotedStr(FormateDateTime('YYYY-MM-DD', DateTimePicker2.Date));
      ...
    end;
      

  3.   

    var
      sqlstr: string;
    begin
      ...
      sqlstr := Format('select * from db_rkd where shid=''%s'' and (rq>=''%s'' and rq<=''%s'');', [Trim((Edit1.Text), DateToStr(dtp1.Date), DateToStr(dtp1.Date)]);
      ...
    end;
    我有点奇怪的是,你为什么不用between而要用<= >=