TList(これは配列ラッパーオブジェクト)を使用することをお勧めします。以下は、私が使用しているコードの抜粋です。 TSomeRectは各行のフィールドデータを格納するレコードです。
function CreateQuery(pConnection: Tsqlconnection; pTransaction: TSQLTransaction): TSQLQuery;
begin
result := TSQLQuery.Create(nil);
result.Database := pConnection;
result.Transaction := pTransaction
end;
var
connect: TSQLite3Connection;
SQLQuery1: TSQLQuery;
transact: TSQLTransaction;
Query : TSQLQuery;
lst :TList<TSomeRect>;
rec :TSomeRect;
begin
lst :=TList<TSomeRect>.create;
connect:=TSQLite3Connection.create(nil);
connect.LoginPrompt := False;
connect.DatabaseName := 'c:\path\to\database.sqlite';
connect.KeepConnection := False;
transact:=TSQLTransaction.create(nil);
transact.action:=caNone;
transact.database:=connect;
connect.Transaction:=transact;
Query := CreateQuery(Connect, Transact);
Query.SQL.Text := 'select * from table';
Connect.Open;
Query.Open;
while not Query.Eof do
begin
rec.field1:= Query.FieldByName('field1').AsInteger;
rec.field2:= Query.FieldByName('field2').Asstring;
lst.add(rec);
Query.Next;
end;
Query.Close;
Connect.Close;
Query.Free;
Transact.Free;
Connect.Free;
既存のコードを表示します。 –
あなたは間違った方法で問題を考えています。 TDBGridは、データベースからデータを表示するためのGUIオブジェクトです。あなたが作業しなければならないのは、グリッドを生成するために使用しているTDataSet-子孫オブジェクトです。 – MartynA