如何在Delphi中刷新TDBGrid以显示新记录



我正在制作一个简单的数据库管理程序。它显示SQL数据库中的数据,您可以向数据库中添加新记录并对其进行修改,所有这些都以不同的形式存在(不,我不想在TDBGrid中编辑(。

我有一个带有TDBGrid和刷新TDBGrid的按钮的Form,以及一个具有TADOConnectionTADOQueryTADODataSourceTDataModule

我的问题是TDBGrid刷新只对更新的记录有影响,它不会显示已添加的新记录。插入非常有效,因为当我在SSMS中检查时,新记录就在那里。

因此,基本上,只有当我重新启动程序时,新记录才会显示在TDBGrid中。

以下是我尝试刷新的方式:

procedure TFormMain.ButtonRefreshClick(Sender: TObject);
begin
DBGrid1.Datasource.DataSet.Refresh;
end;

那么,我如何才能完全刷新我的TDBGrid以显示每一个更改呢?

只需关闭并重新打开数据集:

DBGrid1.Datasource.DataSet.Close;
DBGrid1.Datasource.DataSet.Open;

最新更新