我正在编写一个简单的数据库编辑器作为我的第一个 Delphi 程序。
我对 Delphi 没有任何问题,只有通过数据库连接。
我将数据加载到数据网格中-> sqlConnection -> sqlDataSet -> sqlDataprovider -> Clientdataset -> Datasource
我使用单独的连接 +SqlQuery
为每个记录插入/删除记录。
我用 DBEdit 更改记录
当我插入/删除记录后,我对记录进行了更改,并想要更新更改时出现问题,我收到以下错误
连接正忙于其他命令的结果。
代码:
procedure TDatabaseApp.bNieuwClick(Sender: TObject);
begin
//Waardes invullen in de query statement!
SQLInsert.ParamByName('naam').asString := txtNaam2.Text;
SQLInsert.ParamByName('brouwernr').asString := txtBrouwerNR.Text;
SQLInsert.ParamByName('soortnr').asString := TXTSoortNR.Text;
SQLInsert.ParamByName('alcohol').asString := TxtAlcohol.Text;
//query
SQLInsert.ExecSQL();
SQLInsert.Close();
//Reload datagrid after record has been inserted!
Refresh();
end;
刷新代码
procedure TDatabaseApp.Refresh();
begin
//After a insert/delete query i call this statement, and changes made with the DBEdit are cancelled = temp solution.
ClientDataSet1.CancelUpdates();
SQLDataSet1.Open();
ClientDataSet1.Open();
SQLDataSet1.Refresh();
ClientDataSet1.Refresh();
end;