serQ.SQL.Add('select * from pacode where areacode=:areacode');
serQ.ParamByName('areacode').AsString := str;如果我需要模糊查找,where语句后的areacode=:areacode该如何修改啊?

解决方案 »

  1.   

    不明白说什么 你要模糊查找所有 areacode 匹配 areacode 的?
    SQL.Add('select * from pacode where areacode like‘+#39+'%'+areacode+'%'+#39);
    这样写 你可以把areacode 作为变量赋值
    要是实在要用参数 areacode :=‘%areacode %’ 然后把 = 改成LIKE
      

  2.   

    忘了   LIKE后面要多个空格
      

  3.   

    看来只能如此了,
    不过看很多人都说用ParamByName(... 这样的写法比较安全(方式特殊符号问题),但是不知道模糊查找能不能也用aramByName的~~
      

  4.   

    可以的 这样嘛
    str:=''''+'%什么什么%'+''''  //或者用#39代替''''
    serQ.SQL.Add('select * from pacode where areacode like :areacode');
    serQ.ParamByName('areacode').AsString := str;
      

  5.   

    serQ.SQL.Add('select * from pacode where areacode like %:areacode%');
    应该这样 不好意思我在找驱动看错了   神舟电脑真的很垃圾郁闷ING
      

  6.   

    select * from table where columns like %value%
      

  7.   

    serQ.SQL.Add('select * from pacode where areacode like %:areacode%');
    serQ.ParamByName('areacode').AsString := subsql;
    改成这个运行的时候提示areacode not found!!!