從資料庫抓取資料出來時,卻不確定筆數有幾筆,可以用這種方式,在將資料庫資料抓出來後,設定陣列的長度空間並放入資料。
定義結構 Record 及 Array
type
RDBData = Record
A:Integer;
B:String;
end;
ARDBData = Array of RDBData;
設定 Array 長度
function GetData: ARDBData;
var
dbData: ARDBData;
i: Integer;
begin
...
dbQuery.SQL.Text := 'SELECT * FROM [User]';
dbQuery.Open;
SetLength(dbData, dbQuery.RecordCount);
for i := 0 to dbQuery.RecordCount - 1 do begin
dbData[i].A := dbQuery.Fields[0].AsInteger;
dbData[i].B := dbQuery.Fields[1].AsInteger;
dbQuery.Next;
end;
Result := dbData;
...
end;
可以注意到,也可以回傳陣列沒問題
沒有留言:
張貼留言