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