var
  str1,str2:string;
begin
  str1:=trim(edit1.text);
  str2:=copy(str1,0,2);
  with adoquery1 do
  begin
    close;
    sql.clear;
    sql.add('select * from student');
    
    sql.add('where address like 'str2%'');//在这行出现错误,请大家帮忙查找一下原因errer:')'expected but identifier "str2" found
   
    prepared;
    execsql;
  end;
end;

解决方案 »

  1.   

    修改为:
    sql.add('where address like ''str2%''');
    引号的问题
      

  2.   

    sql.add('where address like 'str2%'')这里肯定有问题的,首先引号用的就不对,再者,如果按照楼上的方法,那么该语句只查询前两个字符为"str2"sql.add('where address like "'+str2+'%"')
    我想以上的语句才是正确的.可以试一下
      

  3.   

    SQL.Add('select s_name from t_storage where s_spell like '''+str2+'%''')
      

  4.   

    adoquery1.SQL.Add('select s_name from t_storage where s_spell like '''+str2+'%''');
    showmessage(adoquery1.sql.text);