我有一个关于数据查询的问题。
为什么我的程序找不到记录?
Query_basic.fieldbyname('rzrq').asdate:=datepicker1.date;
还有就是如何查询一个时间段的数据。

解决方案 »

  1.   

    我要查询好几个时间,所以我用了参数,可是我不知道between...end...该如何写到代码中,谢谢 outer2000(天外流星)!希望能给出一段代码。
      

  2.   

    查询时间段可以
    select * from yourtable where columndate > :begindte and columndate <enddte;Query_basic.fieldbyname('rzrq').asdate:=datepicker1.date;
    应该没问题,可能是你数据的问题,实在不行,将两边都转换成string来比较.
      

  3.   

    参考下面:
    (sql数据库)
    SELECT *
    FROM goods
    WHERE (goods_time BETWEEN '2002-11-19' AND '2002-11-24')
    (access数据库)
    SELECT *
    FROM goods
    WHERE (goods_time BETWEEN '2002-11-19' AND '2002-11-24')
      

  4.   

    不好意思,access部分应改为:
    (access数据库)
    SELECT *
    FROM goods
    WHERE (goods_time BETWEEN #2002-11-19# AND #2002-11-24#)
      

  5.   

    谢谢 lws0472(hero) !能不能采取这样的方法做:
    Query_basic.fieldbyname('rzrq').asdate:=between datepicker1.date and datepicker2.date ;
    我知道这样写代码不行,可是我要使用这个参数,该怎么办?
      

  6.   

    请看下面:
    select * from 表名  where  date>='+''''+datetost(datetimepicker1.date)+''''+' and date<='+''''+datetostr(datetimepicker2.date)+''''+'
      

  7.   

    query1.close;
    query1.clear;
    query1.sql.add('select * from yourtable where columndate > :begindte and columndate <enddte');
    query1.fieldbyname('begindte').asdate := datepickerbegin.date;
    query1.fieldbyname('enddte').asdate := datepickerend.date;
    query1.open;
      

  8.   

    query1.clear --------->query1.sql.clear;