有两张表,A表中有30个字段,B表中有个字段用来存储项目名称,现在要用B表中的各行数据来赋值A表中的30个字段名称。假如SELECT * FROM A 原来出来是,A1,A2,A3....(字段名),现在希望是
月份,年龄,性别(B表中的数据)不知道要怎么实现

解决方案 »

  1.   

    是这样吗
        月份   年龄  性别
    A1
    A2
    A3
      

  2.   

    var
      AI:array [1..30] of string;
      j,i:integer;
      SText:string;
    begin
      SText:='select '
      for i:=1 to 30 do
         AI:='A'+intostr(i);
      ADOTableB.open;
      ADOTableB.first;
      for i:=1 to 30 do
      begin
        SText:=SText+AI[i]+' as '+ADOTableB.FieldByname('Item').Asstring; 
      end
      SText:=' from A'
      ADOQueryA.close;
      ADOQueryA.sql.clear;
      ADOQueryA.AQL.ADD(SText);
      ADOQueryA.open
    end;
      

  3.   

    select a1 as 姓名, a2 as 性别 from a
      

  4.   

    看错了,应该是tengfei2005的方法。
    如果是用的FIREBIRD数据库,还可以在存储过程中实现