比如:现有表a 
  字段名为:x  y  z
  对应记录 a1 a1 a1
           b2 b2 b2
           c3 c3 b3
要动态生成的新表b
  的字段名为:a1 b2 c3

解决方案 »

  1.   

    如果是采用,SQL语句,你可以采用 数据库的功能先逆转生成 C,SQL 记录,然后再采用 
    insert into b(...) select ..... from C,Access有生成交叉逆转的工具,SQL Server也有相应的语句,你可以参考不同的数据库来处理。也可以采用程序处理阿,
    你现遍历,a,然后可以很方便的成b
      

  2.   

    简单示例。作为字段名注意名字约束,x字段值不能有特殊符号。
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    with ADOQuery1 do
    begin
      Close;
      Sql.Clear;
      Sql.Add('select x from a');
      Open;
      if RecordCount>0 then
      with ADOQuery2 do
      begin
        Close;
        Sql.Clear;
        Sql.Add('create table b (  '+ADOQuery1.Fields[0].AsString+'  varchar(10))');
        ShowMessage(Sql.Text);
        ExecSql;
        ADOQuery1.Next;
        while not ADOQuery1.EOF  do
        begin
          Sql.Clear;
          Sql.Add('alter table b Add '+ADOQuery1.Fields[0].AsString+'  varchar(10)');
          ExecSql;
          ADOQuery1.Next;
        end;
      end;
    end;
    end;