如何刷新 TDBGrid?
How do I refresh a TDBGrid?
我有一个名为 myDbGrid
的 TDBGrid,我想在更改数据库 (insert/update/delete) 后对其进行更新。如何在不完全重新加载表单的情况下执行此操作?
myDbGrid
使用 myDataSource
并使用 myQry
作为其数据集。
我尝试了以下但没有成功:
myDbGrid.Refresh;
和
myDbGrid.DataSource.DataSet.Close;
myQry.Close; // '' I think this is redundant
myQry.Open;
myDbGrid.DataSource.DataSet.Refresh;
我错过了什么?
(我会注意到 tDBGrid 中没有发生数据库更改 - 它仅用于显示)
这里唯一需要的代码是:
myDbGrid.DataSource.DataSet.Refresh;
在此特定情况下,其他一切都是多余的。
您可以试试这个代码:
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('select* from table_name');
ADOQuery.Open;
我正在使用 ADOQuery,所以我这样做了:
ADOQuery1.Active := False;
ADOQuery1.Active := True;
我有一个名为 myDbGrid
的 TDBGrid,我想在更改数据库 (insert/update/delete) 后对其进行更新。如何在不完全重新加载表单的情况下执行此操作?
myDbGrid
使用 myDataSource
并使用 myQry
作为其数据集。
我尝试了以下但没有成功:
myDbGrid.Refresh;
和
myDbGrid.DataSource.DataSet.Close;
myQry.Close; // '' I think this is redundant
myQry.Open;
myDbGrid.DataSource.DataSet.Refresh;
我错过了什么?
(我会注意到 tDBGrid 中没有发生数据库更改 - 它仅用于显示)
这里唯一需要的代码是:
myDbGrid.DataSource.DataSet.Refresh;
在此特定情况下,其他一切都是多余的。
您可以试试这个代码:
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('select* from table_name');
ADOQuery.Open;
我正在使用 ADOQuery,所以我这样做了:
ADOQuery1.Active := False;
ADOQuery1.Active := True;