想查询在两个日期段内的数据,但没有报错,也没有结果,请各位帮帮忙  ADOQuery5.Close;
  ADOQuery5.SQL.Clear;
  ADOQuery5.SQL.Add('select * from 信息表  where 日期>= '  + datetostr(DateTimePicker1.date)+  ' and 日期<=' + datetostr(DateTimePicker2.date)+' ');
  ADOQuery5.Open;不知道错在哪里?

解决方案 »

  1.   

    你直接把语句写在ADOQuery5.SQL里面试下。不出错一般要不就是没找到。
      

  2.   

    写在SQL里面是可以,但就是用到日期控件就不知道写了
      

  3.   

    声明一个字符串变量sSql:string;
    将拼好的sql脚本传给sSql变量,跟踪看一下,或者添加sSql到Watch列表
    我怀疑跟你时间控件的时间有关,你跟进去看一下。
      

  4.   

    SELECT * FROM 表名 WHERE 日期>=#2007-7-1# AND 日期<=#2007-7-31#
      

  5.   

    少了引号ADOQuery5.SQL.Add('select * from 信息表 where 日期>= ''' + datetostr(DateTimePicker1.date)+ ''' and 日期<=''' + datetostr(DateTimePicker2.date)+''' ');
      

  6.   

    access需要#来扩起来。
    sqlserver,使用如下内容ADOQuery5.SQL.Add('select * from 信息表 where 日期>= ' + QuotedStr(datetostr(DateTimePicker1.date))+ ' and 日期<=' + QuotedStr(datetostr(DateTimePicker2.date)));
      

  7.   

    你把sql打印出来,执行下看看
      

  8.   

    这个控件的date属性包含时间,应该去了:ADOQuery5.Close;
      ADOQuery5.SQL.Clear;
      ADOQuery5.SQL.Add('select * from 信息表 where 日期>= ' + datetostr(trunc(DateTimePicker1.date))+ ' and 日期<=' + datetostr(trunc(DateTimePicker2.date))+' ');
      ADOQuery5.Open;
      

  9.   

    datetostr字符串类型怎么比较大小?
      

  10.   

    sql.Add('select * from Abnormal where Invoice like ''%'+cxTextEdit1.Text+'%'' and Chulizt like ''%'+cxComboBox1.Text+'%''
     and convert(char(10),cldate,20) BETWEEN '''+formatdatetime('yyyy-mm-dd',DateTimePicker1.Date)+''' and '''+formatdatetime('yyyy-mm-dd',DateTimePicker2.Date)+'''');
    看一下我的这个代码吧...你要先把数据库日期进行转换
      

  11.   

    DateTimePicker1.date<=DateTimePicker2.date?
      

  12.   

    日期格式问题
    FormatDateTime('yyyy-MM-dd 00:00:00',begintime.Date);
      

  13.   

    ADO的标准日期字面格式是 yyyy-mm-dd hh:nn:ss ,datetostr函数是不确定性的函数,不管是否这个原因导致,你都应该改为用 formatdatetime('yyyy-mm-dd hh:nn:ss',date)
      

  14.   

        adoquery5.SQL.Add('select * from 信息表 where 日期>=:date1 and 日期<=:date2');
        adoquery5.Parameters.ParamByName('date1').Value:=datetostr(datetimepicker1.Date);
        adoquery5.Parameters.ParamByName('date2').Value:=datetostr(datetimepicker2.Date);
      

  15.   

    建议把datetime类型改为string存储,access与sqlserver里不一样。like%2011%可以但like%2011-10%就like不出来了,真奇怪
      

  16.   

    少引号,或者是datetimepicker的time属性没有改成00:00:00
      

  17.   

    'where 日期 BETWEEN '''+DateToStr(DateTimepicker1.Date)+''' and '''+DateToStr(DateTimePicker2.Date+1)+''''