我用DateTimePicker.date 代替2001/1/1 和2001/10/10 ,系统报错“general sql error”

解决方案 »

  1.   

    改一下:
    query1.sql.add('select * from userwork where userid=''1111''');
    query1.SQL.add(' and (startdate between ''2001/1/1'' and ''2001/10/10'')');
                这里加空格                   ^         ^
      

  2.   

    query1.sql.add('select * from userwork where userid=''1111''');
    query1.SQL.add(' and (startdate between :Date1 and :Date2)');
    query1.ParamByName( 'Date1' ).AsDate := DateTimePicker1.date;
    query1.ParamByName( 'Date2' ).AsDate := DateTimePicker2.date;
    这样就不用管日期格式了(论坛里好多这个问题 ^_^)
      

  3.   

    不要用Between..and了,试一下startdate>='2001/01/01' and startdate<='2001/10/10'
    这应可以.
      

  4.   

    query1.SQL.add('and (startdate between #2001/1/1# and #2001/10/10#)');
      

  5.   

    guoan_fox(wga) 大哥的方法可行
      

  6.   

    我的方法不可能不行的,BETWEEN应该没有问题,我用过日期类型的BETWEEN。告诉我,用我的办法出现什么错误?