你的日期格式要符合标准select * from db where date=:date;
query1.parambyname('date').asdatetime=:date;

解决方案 »

  1.   

    query1.Close;
        query1.SQL.Clear;
        query1.SQL.Add('select * from table1 where birtherday = :da');
        query1.Params[0].AsDateTime:=StrtoDateTime('2002-01-01');
        query1.Open;
      

  2.   

    或者:
    query1.Close;
        query1.SQL.Clear;
        query1.SQL.Add('select * from table1 where birtherday = :dat');
        query1.parambyname('dat').asstring:=maskedit.text
        query1.Open;
      

  3.   

    date:=strtodate(maskedit.text);
        query1.Close;
        query1.SQL.Clear;
        query1.SQL.Add('select * from table1 where birtherday = :dat');
        query1.parambyname('date').asstring:=date;
        query1.Open;
    请注意MASKEDIT的日期个是要正确设置
      

  4.   

    最好不要使用系统的保留字做为变量,运行时容易报错,推荐将你的变量date改成xxx_date的形式。
    另外zgd210的query1.parambyname('date').asstring:=date;
    句中date应为dat.
      

  5.   

    我一般是不用DATE类型,更愿意将DATE变为str并统一格式,那样不会出错的
      

  6.   

    再请问
    那maskedit的日期要怎么设呢?设成什么样的才行?yyyy-mm-dd行吗?
    我的数据库是用database desktop建的,表是paradox 7的,date是date类型的
      

  7.   

    再有,我试过这个方法,还是不能进行查询,是怎么回事?
        query1.Close;
        query1.SQL.Clear;
        query1.SQL.Add('select * from table1 where birtherday = :dat');
        query1.parambyname('dat').asstring:=strtodate(maskedit.text);
        query1.Open;
      

  8.   

    adoquery1.Close;
    adoquery1.SQL.text:=format('select * from tablename where pd_date>''%s''',[maskedit.text]);
    adoquery1.Open;