query.sql.text :='select * from table where field like ''%四川%''';
query.open;

解决方案 »

  1.   

    with query1 do
    begin
      sql.text :='select * from table where field like ''四川%''';
      execute(0);
    end;
     
      

  2.   

    忘说了
    请写成参数类型的,因为有34个项,不只四川一个还用query控件请大家帮忙
      

  3.   

    或者:
    var
      s:string;
    with query1 do
    begin
      sql.text :=Format('select * from table where field like ''%s%''',[s]);
      execute(0);
    end;
    其中s是你设定的省份名称
      

  4.   

    TechnoFantasy(www.applevb.com),实在不好意思,您的答案完全符合要求
    可我必须用query的参数,parambyname或params[n]的那种,谢谢
      

  5.   

    用query的参数,parambyname或params[n]的那种答对马上给分,我知道我急你也急
      

  6.   

    var
      s:string;
    with query1 do
    begin
      sql.add('select * from table where field like ''%:s%''');
      params[0].asstring:=s;
      open;
    end;
      

  7.   

    很抱歉不行
    parameter 's' not found 
      

  8.   

    procedure Find(const AParam: string);
    begin
      //Format Method:
      with Query1 do
      begin
        SQL.Text := Format('select * from where Field like ''%s''', [AParam+'%']);
        Open;
      end;
      { //Param Method:
      with Query1 do
      begin
        SQL.Text := 'select * from table where Field like :Param';
        ParamByName('Param').AsString := AParam + '%';
        Open;
      end; 
       }
    end;
      

  9.   

    试一试我的:sql.add('select * from table where field like ''%'+parambyname+'%''');
      

  10.   

    或sql.add('select * from table where field like ''%'+params[n]+'%''');
      

  11.   

    parambyname是字符型变量,名字你自己取!
      

  12.   

    copy_paste(木石三) 
    is right.
      

  13.   

    procedure Search(const s: string);
    begin
      Query1.SQL.Clear;
      Query1.SQL.Text := 'SELECT * FROM TABLENAME WHERE FIELDNAME LIKE :Param';
      Query1.ParamByName('Param').AsString := '%' + s + '%';
      Query1.Open;
    end;
      

  14.   

    with Query1 do
      begin
        SQL.Text := 'select * from table where Field like '''+Param+'''';
        ParamByName('Param').AsString := AParam + '%';
        Open;
      end;
      

  15.   


      with adoquery1 do
      begin
        SQL.Text := 'select * from table where Field like :Param';
        Parameters.ParamByName ('Param').AsString := AParam + '%';
        Open;
      end; 
      

  16.   

    var
     s:string;{定义变量s}
    {....可给变量S赋值,例如:}
    s:='四川';
    with query1 do
    begin
      sql.add('select * from table_name where 地址 like :no');{table_name为表名,'地址'为字段名,:no1为变量(不需要定义)}
      params[0].asstring:='%' + s + '%';{将变量 S 传递给sql语名中变量:no}
      open;
    end;
      

  17.   

    copy_paste(木石三)老兄完全正确,其他兄弟多少参照了他的方法
    不论怎么说都帮过我,就这样给分吧copy_paste(木石三) 29
    wxg(wxg) 3
    kuangning(郎之间,穷人) 3
    liuyingming(jake)  3
    VictorG()  3
    windindance(风之舞)  3
    colacoca(我是一瓶倒过来的可口可乐) 3
    TechnoFantasy(www.applevb.com) 3
     
    另:可乐兄的答案中太多'''''我都不知道哪个是双引那个是单影,懒得去试了,抱歉。