能否给Query动态增加Field,如能增加,请示例.

解决方案 »

  1.   

    可以动态增加虚拟字段,不是真的向数据库中添加字段。procedure TForm1.Button1Click(Sender: TObject);
    var
      aa:TStringField;
    begin
    aa:=TStringField.Create(ADODataSet1);
    ADODataSet1.Fields.Add(aa);
    ShowMessage(IntToStr(ADODataSet1.FieldCount));
    end;
      

  2.   

    其实在设计环境中就可以在数据集中增加虚拟字段,lookup字段或计算字段,双击数据集就可以了
      

  3.   

    Query.Close();
    Query.SQL.Clear();
    Query.SQL.Text = "alter 表名 add 新列名 类型 长度";
    Query.ExecSQL();
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      aa:TIntegerField;  //整型字段
    begin
    aa:=TStringField.Create(ADODataSet1);
    ADODataSet1.Fields.Add(aa);
    ShowMessage(IntToStr(ADODataSet1.FieldCount));
    end;