如何刷新 Delphi 中的 TDBGrid 以显示新记录?
How can I refresh a TDBGrid in Delphi to show new records?
我正在制作一个简单的数据库管理程序。它显示来自 SQL 数据库的数据,您可以向数据库添加新记录并修改它们,所有这些都以不同的形式(不,我不想在 TDBGrid
中编辑)。
我有一个带有 TDBGrid
和一个刷新 TDBGrid
按钮的表单,以及一个带有 TADOConnection
、TADOQuery
和 [=] 的 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;
我正在制作一个简单的数据库管理程序。它显示来自 SQL 数据库的数据,您可以向数据库添加新记录并修改它们,所有这些都以不同的形式(不,我不想在 TDBGrid
中编辑)。
我有一个带有 TDBGrid
和一个刷新 TDBGrid
按钮的表单,以及一个带有 TADOConnection
、TADOQuery
和 [=] 的 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;