array from db table

Can someone please give me a code example of getting data from a table and putting it into a two dimensional array.

Thank You.
Who is Participating?

Commented:
Sample bellow is applicable in case your know maximum fields and records of a table. In other case use dynamic arrays instead static.
-------
const MaxRecNo = 100;
MaxFldNo=20;

var A : array[0..MaxRecNo-1,0..MaxFldNo-1] of variant;

procedure ....
var I,N : integer;
begin
Table1.Open;
N:=0;
while not Table1.EOF do
begin
for I:=0 to Table1.Fields.Count-1 do A[N,I]:=Fable1.Fields[I].AsVariant;
inc(N);
Table1.Next;
end;
Table1.Close;
end;
--------

Cheers,
Igor.
0

Commented:
Lets assume we have a table with fields "X", "Y",and "Value", integer, integer and double respectively, then you could do this;

var
TheArray = Array[1..MaxX, 1..MaxY] of Double;

Table.First;
while not Table.eof do
begin
TheArray[Table.FieldByName('X').AsInteger,
Table.FieldByName('Y').AsInteger] := Table.FieldByName('Value').AsFloat; // or AsDouble...
Table.Next;
end;

Cheers,

Raymond.

0

Author Commented:
I'm sorry, I don't understand your example (my fault not yours I'm sure).
My solution:

procedure....
var
myArray : array of array of variant;
F, R, n, i: Integer;
begin
table1.open;
table1.first;
R := table1.recordcount;
F := table1.fieldcount;
setLength(myArray, R, F);
while not Table1.EOF do
begin
for n := 0 to Table1.RecordCount-1 do
begin
for i:= 0 to Table1.FieldCount-1 do
begin
myArray[n, i]:= Table1.fields[i].AsVariant;
listbox1.items.add(myArray[n,i]);//just to look at the result
end;
table1.next;
end;
end;
table1.close;
end;

If you can see a problem with this solution, I'd appreciate your input.
Thank YOu.

0

Commented:
Rob has shown you the way how to store and retrieve two-dimension array of float values into/from table.

Now about YOUR solution. It's look like my sample but only with dynamic array. And it's seems like you have it. You looking for what? For bugs? For another way?

Igor.
0

Commented:
Not Rob, sorry Raymond.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.