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

How can I refresh a TDBGrid in Delphi to show new records?

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

我有一个带有 TDBGrid 和一个刷新 TDBGrid 按钮的表单,以及一个带有 TADOConnectionTADOQuery 和 [=] 的 TDataModule 18=].

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

所以基本上,当我重新启动我的程序时,新记录只会显示在 TDBGrid 中。

这是我尝试刷新的方式:

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

那么,我怎样才能完全刷新 TDBGrid 以显示所有更改?

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

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