with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('select a,b,c from Table1');
open;
end;
我要把上面的字段a,b,c动态变成ADOQuery1的永久字段,请问应该怎么写?不是在ADOQuery的字段编辑器里添加!

解决方案 »

  1.   

    你说对了。
    是在ADOQuery的字段编辑器里添加!
      

  2.   

    在ADOQuery的字段编辑器里添加我知道,但我想能不能不在字段编辑器里添加,而是在程序里动态添加!
      

  3.   

    Var
      Vfield:Tstringfield;
    begin
      VField := TStringField.Create(Self);
      Vfield.FieldName := 'a';  //这地方写你要加的字段的实际名字就是数据 as 后的名字
      Vfield.Name := ADOQuery1 .Name + Vfield.FieldName;
      Vfield.Index := ADOQuery1 .FieldCount;
      Vfield.DataSet := ADOQuery1 ;
      ADOQuery1 .FieldDefs.UpDate;
      ADOQuery1 .Open
      

  4.   

    这是动态删除 
    var
      C: TComponent;
    begin
      C := FindComponent('ADOQuery1a');
      if not (TC = nil) then begin
        ADOQuery1.Close;
        C.Free;
        ADOQuery1.Open;
      end;
    以上代码参考了葵花宝典中的一段(可以说是抄袭*^_^*)
      

  5.   

    ADOQuery的字段编辑器里添加
    添加不是很方便