最近我学写数据库查询时,有个问题,就是用SQL语句去查询时间段的内容一直不能查询出来,不只是为什么?
例如:
用一个ADOQuery 
两个DateTimePicker
数据库用的是Microsoft Access
字段名是 获的时间 
数据类型是 日期/时间
请问下用代码怎样实现对“获的时间”查询(如2004-11-1至2004-11-24)这段时间数据的查询

解决方案 »

  1.   

    SQL语句应该是:select * from 表名 where 日期字段>=#2004-11-01# and 日期字段<=#2004-11-24#
      

  2.   

    因为在Access中,日期型数据需要用#号括起来。大量电脑书籍下载:
    http://www.netyi.net/in.asp?id=ForMoreU
      

  3.   

    With AdoQuery do begin
    Close;
    SQL.Clear;
    SQL.Text:='select * from 表名 where 日期字段>=:Q1 and 日期字段<=:Q2'
    Parameters.ParamByName('Q1').Value:=DateTimePicker1.Date;
    Parameters.ParamByName('Q2').Value:=DateTimePicker2.Date;
    Opend;
    end;
      

  4.   

    注意在日期两侧加上#就行了。
    ACCESS是:#2002-10-10#
    SQL Server是'2002-10-10'
      

  5.   

    adoquery.sql.add('select * from 表名 where [获的时间] between #2004-11-1# and #2004-11-24#');
      

  6.   

    With  data.ADOCJCX1 do begin
    Close;
    SQL.Clear;
    SQL.Text:='select * from zacjcf where 获的时间>=:Q1 and 获的时间<=:Q2' ;
    data.ADOCJCX1.Parameters.ParamByName('Q1').Value:=DateTimePicker1.Date;
    data.ADOCJCX1.Parameters.ParamByName('Q2').Value:=DateTimePicker2.Date;
    Open;