with query1 do
  begin
      params[0].datatype:=ftdatetime;
      params[0].Value:='1988-05-01';
      open;
  end;

解决方案 »

  1.   

    试一下下面的。
    select * from basic_bingren
    where chushengnianyue<:datewith query1 do
      begin
          params[0].datatype:=ftdatetime;
          params[0].Value:='1900-01-01';
          open;
      end;
      

  2.   

    ...
    query1.sql.add('select 书号 from jhshu where 人员编号=:code1 and 还书日期=:date1');
    query1.parambyname('code1').asdatetime:=strtodatetime('2002-01-01');
    query1.parambyname('code2').asdatetime:=strtodatetime('2002-01-02');
    query1.open;
      

  3.   

    robinhunter方法應該可行.或許應將值改為'1899-12-31'
    不過這好像也與配置環境有關,即你所設的最小日期減1天即為NULL值.
      

  4.   

    可以这样写你的select语句啊,
    select 书号 from jhshu where 人员编号=:code1 and 还书日期 is null’
    构造一个动态sql,这样今后的查询比较容易改,而用了带参数的sql,则比较死。