Access库,exameTable(EDate,EName...)日期时间型ETime为主关键字现在想从用户在DateTimePicker控件中选的日期为条件,查询某条记录,我不知道日期时间的格式该怎么写。。
我写的是
query1.close;
query1.sql.clear;
query1.sql.add('select * from exameTable where EDate=:pdate');
query1.paramByName('pdate').asdate:=DateTimePicker1.date;
query1.open;
好象找不到,该怎么写谢谢

解决方案 »

  1.   

    更正:
    期时间型ETime为主关键字------>EDate
    我只向精确到某日,时间不用管
      

  2.   

    query1.paramByName('pdate').asdate:=DateTimePicker1.date;
    //----->query1.Parameters.ParamByName('pdate').value := DateTimePicker1.date;
      

  3.   

    with query1 do
      begin
        if active Then active:=False;
        sql.clear;
        sql.add('select * from exameTable where EDate=:a');
        Parameters[0].Value:=DateToStr(DateTimePicker1.date);
        open;
      end;
      

  4.   

    应该是你的日期格式不对
    看一下你的Access数据表中EDate字段保存的是什么格式:
    如2005-07-24 则改为:query1.close;
    query1.sql.clear;
    query1.sql.add('select * from exameTable where EDate=:pdate');
    query1.paramByName('pdate').value:= FormatDateTime('yyyy-mm-dd', DateTimePicker1.date); 
    query1.open;如果为05-07-24等格式,应相应的把yyyy-mm-dd改为其对应的格式即可
      

  5.   

    ' (出生日期>=#'+datetostr(DateTimePicker1.Date)+'#)'要注意前后加#号
      

  6.   

    数据库里存的是yyyy-mm-dd hh:mm:ss,DateTimePicker1.date取得的是yyyy-mm-dd