我用ACCESS做的库!
str:='内科';
with Query2 do begin
   with SQL do begin
     Clear;
     Add('Select * from type Where type_nm='+str);
   end;
   Open;
end;
secondclass:=str;
str:=query2.FieldValues['type_id'];
ShowMessage(str);
提示出错,能编译通过!

解决方案 »

  1.   

    Add('Select * from type Where type_nm='+#39+str+#39);
      

  2.   

    在clear之前请先写上query2.close.
      

  3.   

    如果type_nm是varchar类型,应该加引号。
    add('select * from type where type_nm='''+str+'''');
      

  4.   

    如果不想用参数的话:
    Add('Select * from type Where type_nm='''+Str+''');
    如果用参数的话:
    Add('Select * from type Where type_nm=:Pa1);
    Pa1:=Str;
      

  5.   

    Add('Select * from type Where type_id like '+#39+str+#39+'%');
    这句为什么也通不过?
      

  6.   

    因为我加了两个QUERY方问同一个数据库,是不是这也有问题呀?
      

  7.   

    add('select * from type where type_id like '''+str+'%''')