谢谢,请给个李子。条件是参数传递的。谢谢
Avalue :string;strSQL := 'SELECT * FROM '+ tbl_name +' where ' +
          'EM_DW_MC LIKE ' +Avalue

解决方案 »

  1.   

    strSQL := 'SELECT * FROM '+ tbl_name +' where ' +
              'EM_DW_MC LIKE ' +'''%'+Avalue+'''%'
    好象要这样才正确吧,如果你的EM_DW_MC 是string类型,如果是int 类型,你的对
      

  2.   

    sqlstr : string;
    sqlstr := 'selete * from :tablename where em-dm-mc like :mvalue';
    dbset.commandtext := sqlstr;
    dbset.parambyname(tablename).asstring ;= 'table1';
    dbset.parambyname(mvalue).asstring ;= 'value';
      

  3.   

    //修改編號用的過程
    procedure UpdNo(tmpTab,tmpNo,PStrOld,PStrNew,sWhere: string);
    var
      tmp: string;
    begin
      with QryNo do
      begin
        Close;
        SQL.Clear;
        tmp := 'Update ' + tmpTab + ' set ' + tmpNo + ' = :No1 ';
        tmp := tmp + 'where ' + tmpNo + ' = :No2 ';
        if sWhere <> '' then tmp := tmp + ' and ' + sWhere; 
        SQL.Add(tmp);
        ParamByName('No1').AsString := PStrNew;
        ParamByName('No2').AsString := PStrOld;
        Prepare;
        ExecSQL;
      end;
    end;
      

  4.   

    利用sql server  可以自动转字符型到整型的特点的特点参数可以用字符串来搞定
      

  5.   

    sqlstr : string;
    sqlstr := 'selete * from :tablename where em-dm-mc like :mvalue';
    dbset.commandtext := sqlstr;
    dbset.parambyname(tablename).asstring ;= 'table1';
    dbset.parambyname(mvalue).asstring ;= 'value';