在数据库中data的格式为yyyy-MM-d(例如2008-10-8)时,我设置时间段过滤的方式如下:     date1val:= strtoint(formatdatetime('yyyMMdd',DateTimePicker1.Date));
    date2val:= strtoint(formatdatetime('yyyMMdd',DateTimePicker2.Date));
    //设置时间段过滤器
    if (date1val>date2val) then
    showmessage('请检查您输入的时间段!')
    else if (date1val=date2val) then
    datefiler:='data='+quotedstr(datetostr(DateTimePicker1.Date))
    else
    datefiler:='data>='+quotedstr(datetostr(DateTimePicker1.Date));
    ADOTable2.Filtered:=true;
    ADOTable2.Filter:=datefiler;
结果无法判断2008-10-10大于2008-10-8    然后我把数据库中的data格式设置为yyyy-MM-dd
    用同样的方式过滤,后果是根本无法识别天数为0x的值     应该问题在datetostr(DateTimePicker1.Date));吧有了解此方面的给个指点吧。

解决方案 »

  1.   

    在数据库中data的格式为yyyy-MM-d(例如2008-10-8)时,我设置时间段过滤的方式如下: 
    你明明知道数据库里的格式,下面怎么还写成'yyyMMdd'date1val:= strtoint(formatdatetime('yyyy-MM-dd',DateTimePicker1.Date)); 
        date2val:= strtoint(formatdatetime('yyyy-MM-dd',DateTimePicker2.Date)); 
        //设置时间段过滤器 
        if (date1val>date2val) then 
        showmessage('请检查您输入的时间段!') 
        else if (date1val=date2val) then 
        datefiler:='data='+quotedstr(date1val) 
        else 
        datefiler:='data>='+quotedstr(date1val); 
        ADOTable2.Filtered:=true; 
        ADOTable2.Filter:=datefiler; 
    给你修改了一下,再试试
      

  2.   

      if trunc(DateTimePicker1.Date)> trunc(DateTimePicker2.Date) then
         showmessage('请检查您输入的时间段!')
      else if  trunc(DateTimePicker1.Date)=trunc(DateTimePicker2.Date) then
         datefiler:='data='+quotedstr(datetostr(DateTimePicker1.Date))
      else
         datefiler:='data>='+quotedstr(datetostr(DateTimePicker1.Date));    ADOTable2.Filtered:=False;
        ADOTable2.Filter:=datefiler;
        ADOTable2.Filtered:=true;
      

  3.   

    quotedstr(date1val)
    这句好像有问题吧,dateval是integer类型
      

  4.   

    问题真是多
    date1val:=DateTimePicker1.Date; 
        date2val:= DateTimePicker2.Date; 
        //设置时间段过滤器 
        if (date1val>date2val) then 
        showmessage('请检查您输入的时间段!') 
        else if (date1val=date2val) then 
        datefiler:='data='+quotedstr(formatdatetime('yyyy-MM-dd',date1val)); 
        else 
        datefiler:='data>='+quotedstr(formatdatetime('yyyy-MM-dd',date1val)); 
        ADOTable2.Filtered:=true; 
        ADOTable2.Filter:=datefiler;