table1.open
while not table1.eof do
beign
 a:= table1.fields[0].asstring;
...
table1.next
end;

解决方案 »

  1.   

    var
      ASTRUCT  astruct;
      i:integer;
    begin
      i:=0;
      table1.first;
      while not table1.eof do
      begin
        astruct[i].xx1:=table1.fieldbyname('fieldname1').asString;
        astruct[i].xx2:=table1.fieldbyname('fieldname2').asString;
        table1.next;
        i:=i+1;
      end;
    end;
      

  2.   

    var
      ClassData: OleVariant;
    .....
         //创建动态数组
          ClassData:=VarArrayCreate([0,ClientDataSetClass.RecordCount-1],VarVariant);
          ClientDataSetClass.First;
          for i:=0 to ClientDataSetClass.RecordCount-1 do
          begin
            //循环体,把数据赋值给动态数组
            ClassData[i]:=VarArrayof([ClientDataSetClass.FieldByName('ClassID').Value,
              ClientDataSetClass.FieldByName('Name').Value,
              ClientDataSetClass.FieldByName('GroupID').Value,
              ClientDataSetClass.FieldByName('SubGroup').Value,
              ClientDataSetClass.FieldByName('GroupNo').Value]);
            ClientDataSetClass.Next;
          end;