我用Access数据库,想查历史某天的所有数据,因为数据库中是长时间格式,也就是yyyy-mm-dd hh:mm:ss格式,
SELECT * FROM 0801 where FDateTime between #2008-1-3 00:00:01# and #2008-1-3 23:59:59#
这样写dephi老报错,在access里用查询语句查就可以查出来,请问该如何查?

解决方案 »

  1.   

    with adoquery1 do
    begin
      close;
      sql.text := 'SELECT * FROM 0801 where FDateTime between :d1 and :d2';
      parameters.parambyname('d1').value := '2008-1-3 00:00:01';
      parameters.parambyname('d2').value := '2008-1-3 23:59:59';
      Open;
    end;也可以用 fdatetime>=:d1 and fdatetime<:d2
      parameters.parambyname('d1').value := '2008-1-3';
      parameters.parambyname('d2').value := '2008-1-4';
    这样来写  
      

  2.   

    sql := 'SELECT * FROM [0801] where FDateTime between  '+Quotedstr('#2008-1-3 00:00:01#')+' and  '+
           QuotedStr('#2008-1-3 23:59:59#');