Select * From Product Where Left(PType,4)='1001'
可以执行
可我将
AdoQuery的Filter设为:Left(PType,4)='1001'
就不行了
提示:参数类型不正确,或不在可接受的范围内,或与其它参数冲突。这是为什么?delphi 的 Filter 和 SQL里的 Where 有区别吗?

解决方案 »

  1.   

    filter只适用于简单的数据类型的过滤,比如 a=1之类的,模糊查询也可以,对于稍复杂的查询就over了
      

  2.   

    复杂的查询就直接用sql语句吧
      

  3.   

    试试,PType like '1001%' 
      

  4.   

    FILTER只是对当前数据集过滤吧
    又不是从数据库里过滤的.
    你用到SQL的函数,什么可能认的
      

  5.   

    lgxyz
    说的好像有点道理了。adoquery的filter不是SQL里的wherefilter只过滤已查询出来的数据集,这个过程应该是没有执行sql语句的,所以sql的函数在这里不能用。不知我理解的对不对。