form7.adoQuery1.Close;
form7.adoquery1.sql.Clear;
form7.adoQuery1.sql.add('select * from table where 出生日期=:da');
form7.adoquery1.params[0].asDatetime:=StrtoDatetime(edit1.text);
form7.adoQuery1.Open;
rc1:=form7.adoQuery1.RecordCount;
close;
form7.ShowModal;

解决方案 »

  1.   

    form7.adoQuery1.Close;
    form7.adoquery1.sql.Clear;
    form7.adoQuery1.sql.add('select * from table where 出生日期='''+Edit1.text+'''');
    form7.adoQuery1.Open;
    rc1:=form7.adoQuery1.RecordCount;
    close;
    form7.ShowModal;这要看你的“出生日期”是采用什么形式在数据库中存放的。
    要是用日期格式,那么你就需要转化,否则肯定正确转化:
    要是oracle你就
    form7.adoQuery1.sql.add('select * from table where to_char(出生日期)='''+Edit1.text+'''');
    要是sybase/sql server:
    form7.adoQuery1.sql.add('select * from table where convert(char(8),出生日期,112)='''+Edit1.text+'''');
      

  2.   

    1
    form7.adoQuery1.Close;
    form7.adoquery1.sql.Clear;
    form7.adoQuery1.sql.add('select * from table where 出生日期= ' + #39+Edit1.text+#39);
    form7.adoQuery1.Open;
    rc1:=form7.adoQuery1.RecordCount;
    close;
    form7.ShowModal;2
    form7.adoQuery1.Close;
    form7.adoquery1.sql.Clear;
    form7.adoQuery1.sql.add('select * from table where 出生日期=:da');
    form7.adoquery1.params[0].asDatetime:=StrtoDatetime(edit1.text);
    form7.adoQuery1.Open;
    rc1:=form7.adoQuery1.RecordCount;
    close;
    form7.ShowModal;
      

  3.   

    我用的是access数据库做的ado连接,日期格式是日期/时间。
    怎么办呀!
      

  4.   

    出生日期 是date型的,那个是字符型的不出问题才怪呢!!!
    strtodate(),呵呵!
      

  5.   

    在access中那就使用convert 转化试试!
      

  6.   

    form7.adoQuery1.Close;
    form7.adoquery1.sql.Clear;
    form7.adoQuery1.sql.add('select * from table where 出生日期=#'+Edit1.text+'#');
    form7.adoQuery1.Open;
    rc1:=form7.adoQuery1.RecordCount;
    close;
    form7.ShowModal;不过,最好将edit1用datatimepicke来代替