query3.SQL.Add('select  *  from  销售    
where  日期>='+datetostr(datetimepicker1.date)+  
'and  日期<='+datetostr(datetimepicker2.Date));  
 
这条语句得不到正确结果,请问错在哪里,因该怎么写?  
(其中“日期”字段是日期型的)

解决方案 »

  1.   

    格式化Sql语句
    var
      SBegindate,SEndDate:string;
    SBeginDate :=FormatDateTime('yyyy-mm-dd',datetimepicker1.date);
    SEndDate :=FormatDateTime('yyyy-mm-dd',datetimepicker2.date);query3.SQL.Add(Format('select  *  from  销售    
    where  日期>=''%s''and  日期<=''%s''',[SBegindate,SEndDate]));
      

  2.   

    query3.SQL.Add('select  *  from  销售    
    where  日期>=' + to_date(''' + datetimepicker1.date + ''', ''yyyymmdd'') +
    'and  日期<='+ to_date(''' + datetimepicker1.date + ''', ''yyyymmdd'')); 试试这样可以不