一段代码var
i:integer;
xxx:array of string;
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select kcz from car where userid=:a');
adoquery1.parameters.parmbyname('a').value:=abc;
adoquery1.open; setlength(xxx,adoquery1.recordcount);
i:=0;
while not adoquery1.eof do
begin
xxx[i]:=adoquery1.fieldbyname('kcz').asstring;
adoquery1.next;
end; showmessage(xxx[2]);
end;结果就是xxx[任意数字],都不正确,但是,把showmessage(xxx[i])放入循环内,可以得到正确的数据。
i:integer;
xxx:array of string;
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select kcz from car where userid=:a');
adoquery1.parameters.parmbyname('a').value:=abc;
adoquery1.open; setlength(xxx,adoquery1.recordcount);
i:=0;
while not adoquery1.eof do
begin
xxx[i]:=adoquery1.fieldbyname('kcz').asstring;
adoquery1.next;
end; showmessage(xxx[2]);
end;结果就是xxx[任意数字],都不正确,但是,把showmessage(xxx[i])放入循环内,可以得到正确的数据。
copy(xxx[i], adoquery1.fieldbyname('kcz').asstring);
所有的值都只放到xxx[0]中了