delphi - 如何在 Delphi 中刷新 TDBGrid 以显示新记录?
问题描述
我正在制作一个简单的数据库管理程序。它显示来自 SQL 数据库的数据,您可以将新记录添加到数据库并对其进行修改,所有这些都以不同的形式(不,我不想在 中编辑TDBGrid
)。
我有一个带有一个TDBGrid
和一个按钮的表单来刷新,TDBGrid
和一个TDataModule
,和。TADOConnection
TADOQuery
TADODataSource
我的问题是TDBGrid
刷新只对更新的记录有影响,它不会显示已添加的新记录。插入工作完美,因为当我在 SSMS 中检查它时,新记录就在那里。
所以基本上,新记录只显示在TDBGrid
我重新启动程序时。
这是我尝试刷新的方法:
procedure TFormMain.ButtonRefreshClick(Sender: TObject);
begin
DBGrid1.Datasource.DataSet.Refresh;
end;
那么,我怎样才能完全刷新我TDBGrid
的以显示每一个变化呢?
解决方案
只需关闭并重新打开数据集:
DBGrid1.Datasource.DataSet.Close;
DBGrid1.Datasource.DataSet.Open;
推荐阅读
- python - 为什么我得到 AttributeError: 'NoneType' 对象没有属性 'contains'?
- python - 我的代码在 mongodb 中工作,但在 pymongo 中不工作
- c - 我应该在 .h 文件中定义函数还是只声明它们?
- javascript - 如何从 react hooks 或 useEffect 获取新的更新数据?
- c# - 从为选定的 wpf 组合框值绑定的属性中获取 null
- react-native - undefined 不是 react-native 中的对象(评估“process.version.split”)
- java - 在webdriver中,复选框必须检查复选框是否选中或选中的基本属性是什么
- javascript - 选项卡未从 reactstrap 导出
- google-apps-script - onFormSubmit 触发器大约每隔几周随机发生两次
- excel - 使代号和索引一致