用命令:
select * from table_name where company like '%我%' and company like '%他%'
在oracle里可以正常查询,
但是在delphi里改如何写,才能保证不报:
%是非法字符的错误。
及"'"应该在何时用几个?

解决方案 »

  1.   

    adoquery1.sql.add('select * from table_name where company like ''%我%'' and company like ''%他%''');
      

  2.   

    改成这样:select * from table_name where company like '''+我+''' and company like '''+他+''';
      

  3.   

    谢谢,谢谢,
    我想知道如果我不是字符“我”和“他”
    而是两个变量的话,比如是str1,str2
    那么又改如何写呢?谢谢谢谢!
      

  4.   

    adoquery1.sql.add('select * from table_name where company like '+'%'+str1+'%'+' and company like '+'%'+str2+'%');
      

  5.   

    adoquery1.sql.add('select * from table_name where company like ''%'+str1+'''%'+' and company like ''%'+str2+'''%');
      

  6.   

    adoquery1.sql.add('select * from table_name where company like '+'%'''+str1+'''%'+' and company like '+'%'''+str2+'''%');
      

  7.   

    又弄错了:
    adoquery1.sql.add('select * from table_name where company like '+'''%'+str1+'%'+''' and company like '+'''%'+str2+'%''');
      

  8.   


    sSql := 'SELECT * FROM table_name WHERE field_name  LIKE ''%' + sStr + '%''';adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add(sSql);
    adoquery1.open;
      

  9.   

    query1.sql.add('select * from table_name where company like ''%'+str1+'%'' and company like ''%'+str2+'%''');
      

  10.   

    感谢大家热情的帮助,
    请问一下charindex()是什么东东?
      

  11.   

    sSqlStr := 'select * from table_name where company like ' + QuotedStr('%' + Str1 + '%') + ' and company like ' + QuotedStr('%' + Str2 + '%') ;
      

  12.   

    加个TRIM比较好
    sSqlStr := 'select * from table_name where company like ' + QuotedStr('%' + trim(Str1) + '%') + ' and company like ' + QuotedStr('%' + trim(Str2) + '%') ;