紧急求助:用动态二维数组存放SQL数据库数据的问题!!(50分)

  • 主题发起人 主题发起人 lebronjames
  • 开始时间 开始时间
L

lebronjames

Unregistered / Unconfirmed
GUEST, unregistred user!
我的目的是把数据库中的值提取出来放入一个2维数组
数据库A
a b c b d //字段
1 2 3 4 a //值
9 8 7 6 5 //值

//程序代码:
var
m:integer;
na:array of array[0..9] of string;
begin
adotablea.First;
setlength(na[m][0],adotablea.RecordCount); //这里获取纵列的长度,就是数据库记
录条数,0..9为字段,是固定的长度.
for m:=0 to adotablea.RecordCount-1 do
begin
na[m][9]:=form1.adotablea.FieldByName('姓名').AsString;
na[m][0]:=form1.adotablea.FieldByName('年龄').AsString;
na[m][1]:=form1.adotablea.fieldbyname('性别').AsString;
na[m][2]:=form1.adotablea.fieldbyname('成绩A').AsString;
na[m][8]:=form1.adotablea.fieldbyname('成绩B').AsString;
adotablea.Next;
end;
end;

///////////
代码如上,目的是最后:na[0][0]=1,na[0][1]=2,na[1][0]=9,na[1][1]=8...这样的.
程序编译能通过,运行的时候就出错,请各位指点一下.

补充:
发现个新的问题,数组的维度不能超过255,但是记录条数肯定是超过255的..请问如何解决
 
setlength(na[m][0],adotablea.RecordCount);
这里na[m,0]还不能访问,因第一维现在没有分配空间
 
可以用几个TStringList变量控制:有几个列就定义几个TStringList变量,每个变量存放一列数据,用时再逐个引用TStringList变量,很方便的
 
后退
顶部