我的sql 是这样的select * from course where yxzy like '%信管%'
但是加到delphi里怎么样加到ADOQueryxs2.SQL.Add('select * from course where yxzy like '+#39+%c%+#39+'  ');
在这里。我的c是一个变量他的值是前面穿过来的。
这样就错了。怎么样写啊??

解决方案 »

  1.   

    adoquery1.sql.add('select * from course where yxzy like :str');
    adoquery1.parameters.parambyname('str').value:='%信管%';
      

  2.   

    但是加到delphi里怎么样加到ADOQueryxs2.SQL.Add('select * from course where yxzy like '+#39+#39+%c%+#39+#39+'  ');第一个#39是转义符
      

  3.   

    ADOQueryxs2.SQL.Add('select * from course where yxzy like ''%'
     +c+'%''';
      

  4.   

    ADOQueryxs2.SQL.Add('select * from course where yxzy like '+''''+'%'+c+'%'+'''');c等于'信管'
      

  5.   

    ADOQueryxs2.SQL.Add('select * from course where yxzy like ''%' +
    C + '%''');
    或者如果yxzy创建了索引那么可以简写为:
    ADOQueryxs2.SQL.Add('select * from course where yxzy contain ''信管'');
    第一个写法有把握。
      

  6.   

    sql:='select * from [course] where yxzy like '+#39+'%'+c+'%'+#39
    ADOQueryxs2.SQL.Add(sql);
      

  7.   

    碰到这样的问题最好用断点的方法看看输出的SQL语句
      

  8.   

    ADOQueryxs2.SQL.Add('select * from course where yxzy like '+#39+'%'+c+'%'+#39+'  ');