我用的数据源是ODBC,数据库是SQL2000,控件是ADOConnection和ADOQuery
数据库OutGoods表中“出楼日期”字段类型为DateTime
代码如下: 
DMHouseManage.ADOQuery1.Active:=true;
  with DMHouseManage.ADOQuery1 do
  begin
   SQL.Clear;
   SQL.Add('SELECT * FROM OutGoods where ') ;
   
   SQL.Add('出楼日期 like '+''''+DateToStr(DateTimePicker2.Date)+'%'+'''');
   open;
  end;
查找不到数据,但是同样的语句放在ACCESS中可以显示出查询结果。程序改成如下:
 with DMHouseManage.ADOQuery1 do
 Begin
  SQL.Clear;
  SQL.Add('Select * FROM OutGoods where 出楼日期 =:A');
  Parameters.ParamByName('A').Value:=FormatDateTime('yyyy-mm-dd',DateTimePicker2.DateTime);
  open;
 end;
会出现“[ODBC SQL Server Driver]没有执行可选特性”错误
  

解决方案 »

  1.   

    DMHouseManage.ADOQuery1.Active:=true;
      with DMHouseManage.ADOQuery1 do
      begin
       SQL.Clear;
       SQL.Add('SELECT * FROM OutGoods where 出楼时间 like '+''''+'%'+'''') ;
       if XMEdit.text<>'' then
         SQL.Add('and 姓名='+quotedstr(XMEdit.text));
       if  CheckBox2.Checked then
         SQL.Add('and convert(varchar(20),出楼日期,120) like '+''''+FormatDateTime('yyyy-mm-dd',DateTimePicker2.DateTime)+'%'+'''');
       open;
      end;
    这样改就可以了,打扰大家了 ,不好意思!
      

  2.   

    呵呵 日期一般用 between and 查询.