我有一个名为myDbGrid
的TDBGrid,我想在更改数据库后更新(插入/更新/删除)。如果不完全重新加载表单,我怎么能这样做呢?
myDbGrid
使用myDataSource
,并使用myQry
作为其数据集。
我尝试过以下方法但没有成功:
myDbGrid.Refresh;
和
myDbGrid.DataSource.DataSet.Close;
myQry.Close; // '' I think this is redundant
myQry.Open;
myDbGrid.DataSource.DataSet.Refresh;
我错过了什么?
(我会注意到tDBGrid中没有发生数据库更改 - 它只在那里显示)
答案 0 :(得分:5)
这里唯一需要的代码是:
myDbGrid.DataSource.DataSet.Refresh;
在这种特殊情况下,其他一切都是多余的。
答案 1 :(得分:0)
您可以尝试以下代码:
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('select* from table_name');
ADOQuery.Open;
答案 2 :(得分:0)
我正在使用 ADOQuery,所以我做到了:
ADOQuery1.Active := False;
ADOQuery1.Active := True;