首页 > 解决方案 > 如何在 Delphi 中刷新 TDBGrid 以显示新记录?

问题描述

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

我有一个带有一个TDBGrid和一个按钮的表单来刷新,TDBGrid和一个TDataModule,和。TADOConnectionTADOQueryTADODataSource

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

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

这是我尝试刷新的方法:

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

那么,我怎样才能完全刷新我TDBGrid的以显示每一个变化呢?

标签: delphi

解决方案


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

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

推荐阅读