数据库中日期时间在判断时,用字符串来表示,而.date是tdatetime类型,转换一下

解决方案 »

  1.   

    sql.add('select * from xkzdb where kgrq >='''+DateTimePicker1.date+''' and kgrq <='''+DateTimePicker2.date+'''');
      

  2.   

    DateTimePicker1是你自己加的控件吧?怎么能写在SQL语句里呢?
      

  3.   

    或者sql.add('select * from xkzdb where kgrq between '''+DateTimePicker1.date +'''and ''' + DateTimePicker2.date+'''');
      

  4.   

    也可這樣﹕
    sql.add('select * from xkzdb where kgrq >=d1 and kgrq <=d2');
    params[0].asdatetime:=datetimepicker1.date;
    params[1].asdatetime:=dateTimepicker2.date;
    open;
      

  5.   

    出错提示cszhz(丑小鸭) 
    [Error] cx.pas(176): Incompatible types: 'String' and 'TDate'
      

  6.   

    如果你的字段是字符串类型,需要把日期转化为字符串DateToStr(DateTimePicker1.date)
      

  7.   

    最好這樣﹕
    sql.add('select * from xkzdb where kgrq >=:d1 and kgrq <=:d2');
    params[0].asdatetime:=datetimepicker1.date;
    params[1].asdatetime:=dateTimepicker2.date;
    open;
      

  8.   

    sql.add('select * from xkzdb where kgrq >=:d1 and kgrq <=:d2');
    params[0].asdatetime:=datetimepicker1.date;
    params[1].asdatetime:=dateTimepicker2.date;
    open;  
    是对的。