この質問では、私の目的はデータベーステーブルの内容を取得することです。 にdbGridを設定し、接続を閉じます。 次のコードを使用すると、dbgridまたはcomboboxが情報を失います。コンボボックスまたはデータベース接続を閉じた後にdbgridを維持する方法
adoQry := TADOQuery.Create(self);
adoQry.Connection := adoConn;
adoQry.SQL.Add(SqlStr);
adoQry.Prepared := true;
try
adoQry.Active := True;
except
on e: EADOError do
begin
MessageDlg('Error while doing query', mtError,
[mbOK], 0);
Exit;
end;
end;
for i := 0 to adoQry.RecordCount - 1 do
begin
cmbCnty.Items.Add(adoQry.Fields[1].AsString);
adoQry.Next
end;
FreeAndNil(adoConn);
FreeAndNil(adoQry);
dbGridの場合、私はStringGridを使用しています。それは私のために働きます。 しかし、時にはdbGridを使用したいと思うこともありますが、データベースへの密接な接続でコンテンツを保持する方法がわかりません(もちろん、コンテンツを取得した後) 提案があります。
Chris
実際、TClientDatasetがそうであることはまさにそれです。 –