ADOQuery1.Filter := ' price1 like ''%' + s + '%'''; 
  ADOQuery1.Filtered := True;这样写应该没错啊,我用Ctrl+F7得到的结果在SQL查询分析器中执行一点问题也没有啊,为什么在ADOQuery中就不行了呢?为什么老是提示我:“参数类型不正确 或不在可以接受的范围之内 或与其他参数冲突。”我用的是Delphi7,还用打什么补丁吗???

解决方案 »

  1.   

    可能性:
    1.price1是什么类型啊?语句中like后边的可是字符串类型。
    2.s是不是定义了不只一个或者s在上边有其他用了?具体原因有待你查下!
      

  2.   

    用下面语句看看:
    ADOQuery1.Filter := ' price1 like ' + QuotedStr('%' + s + '%');
      

  3.   

    直接写SQL,  FILTER本身有很多的BUG的。
      

  4.   


      ADOQuery1.Filter := ' price1 like ' + QuotedStr('%' + s + '%');
      ADOQuery1.Filtered := True; 
    如果是字符类型,可以这样试下