Var RQ1,RQ2 :Tdatetime;
给RQ1 RQ2 均赋值后
在SQL中写下   
  select * from 表名 where 字段名(datetime格式) between
  RQ1 and RQ2 这样些为什么不行?

解决方案 »

  1.   

    确认一下RQ1,RQ2的格式和数据库里的时间字段格式一致;
    譬如;如果数据库中的字段不包括时,分,秒;那么Rq1,和rq2则必须定义成date格式;
      

  2.   

    昨天我问过同样的问题,后来解决了,你可以参考一下如下的例子,
    使用的DB为SQL Server 2k,在查询分析器中
    use northwind
    select * from orders where shippeddate between '1996-08-06' and '1996-08-30'
      

  3.   

    变量值查询,在sql中应以“:”开头;然后赋值:
    adoqurey1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add(' select * from 表名 where 字段名(datetime格式)
     between  :RQ1 and :RQ2'); 
    adoquery1.Parameters.ParamByName('rq1').Value :=date;
    adoquery1.Parameters.ParamByName('rq2').Value :=date;
    adoquery1.open;
      

  4.   

    'select * from 表名 where 字段名(datetime格式) between  '+''''
    + RQ1 +''''+ ' and  ' + '''' + RQ2 + '''' 
      

  5.   

    adoqurey1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('select * from 表名 where 字段名(datetime格式) between  '+''''
    + RQ1 +''''+ ' and  ' + '''' + RQ2 + '''' ); 
    adoquery1.open;
      

  6.   

    'select * from 表名 where 字段名(datetime格式) between  '+quotedStr(RQ1)
     'and' + quotedStr(RQ2)'