for i:=0 to adoquery1.FieldCount-1 do
begin
adoquery1.Fields.Add(adoquery1.Fields[i]);
end;select * from tsys_pz where name=adoquery1.Fields(I) 
tsys_pz表中有一个name跟 adoquery1.Fields.fieldname对应,然后找到数据库对应的lable批量修改adoquery1的displaylabel属性

解决方案 »

  1.   

    var
     i : integer;
    begin
      adoquery2.close;
      adoquery2.sql.text := 'select * from tsys_pz';
      adoquery2.open;
    end;
    with adoquery2 do while not eof do begin
      for i := 0 to adoquery1.fieldcount -1 do begin
        if lowercase(fieldbyname('name').asstring) = lowercase(adoquery1.fields[i].name) then begin
          adoquery1.fields[i].displaylabel := fieldbyname('lable').asstring;
        end;
      end;
      next;
    end;直接手寫,可能有筆誤
      

  2.   

    var
     i : integer;
    begin
      adoquery2.close;
      adoquery2.sql.text := 'select * from tsys_pz';
      adoquery2.open;  with adoquery2 do while not eof do begin
        for i := 0 to adoquery1.fieldcount -1 do begin
          if lowercase(fieldbyname('name').asstring) = lowercase(adoquery1.fields[i].name) then begin
            adoquery1.fields[i].displaylabel := fieldbyname('lable').asstring;
            break;
          end;
        end;
        next;
      end;