query1.SQL.Add('select * from people where 姓名 like :l');
query1.ParamByName('l').asstring:='%'+a+'%';
测试成功 但不明白为什么要在like后加:

解决方案 »

  1.   

    这是Delphi的规定,SQL的参数用:Identify表示。
      

  2.   

    :l表示 l是一个待替换的参数,并不是like后必要的,SQL中其他要替换值都可以这样写
      

  3.   

    这是因为SQL语句中的参数要用冒号来引导。
      

  4.   

    提一个建议
    尽量不要使用这种写法
    因为这叫死心sql
    非常容易出问题
    可以使用传变量的方式