query.close;
query.sql.clear;
query.sql.add('select 字段名 from 表 where 字段名 like '+quotedstr('%包含的字符%'));
try 
  query.open;
except 
end;
if query.active then
  if query.recordcount<1 then
  begin
     //包含,写入你的代码
    ;
  end;

解决方案 »

  1. cvm

  2. 谢谢,再问一下,if query.active 为什么要判断这个?
      

  3. 编写一个函数:
    function HasStr(sTableName, sField, S: string): boolean;
    var SQL:string;
    begin
      Result := False;
      SQL:='select '+sField+' from '+sTableName+' where '+sField+'='+#39+S+#39;
      query.close;
      query.sql.clear;
      query.sql.add(S);
      query.open;
      if query.recordcount>0 then
      Result := True;
    end;条件query已与连接数据库控件相关。
      


  4. 谢谢,再问一下,if query.active 为什么要判断这个?防止上面的exception发生后,对query操作会直接raise错误,导致程序不能继续执行