1.
你没理解 between的用法。
他相当于 m > x > n
举个例子 m=4,n=4,按么你看 4 > x > 4 这个表达式是不是恒为false了。
另外 日起类型里面,都是时间和日期在一起,所以尽量不要用=来山选日期。比如你想筛选 2002-08-25的数据,
你用 date = t1能得到 2002-08-25 12:00 的记录,但是得不到 2002-08-25 08:30 这样的记录。2.没明白你的意思

解决方案 »

  1.   

    adoquery1.sql.add('where DATE>=:t1 and DATE<=:t2 order by DATE');
    adoquery1.parameters.parambyname('t1').asdate:=d_START.date;
    adoquery1.parameters.parambyname('t2').asdate:=d_END.date;
      

  2.   

    1. where DATE>=:t1 and DATE<=:t2
      日期类型里面,并不都是时间和日期在一起;只要在给字段赋值的时候用DateTimePicker1.Date 而不是DateTimePicker1.DateTime 就只有日期没有时间。这种情况下可以用 = 来比较日期。另一种方法,在比较日期之间,将它们格式化成相同的格式;ORACLE数据库中是to_char(),其它数据库中应该也有类似的函数。
    2. 没遇到过,不能理解