在这个问题中,我的目标是检索数据库表内容.填充dbGrid,关闭连接.如果我使用以下代码,dbgrid或combobox将丢失信息.
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,但不知道如何保持内容与数据库的紧密连接(当然,在检索内容之后)任何建议,例子都会受到赞赏.
克里斯
您可以使用Query ResultSet填充TClientDataSet,然后将TClientDataSet链接到TDBGrid.