最初の 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;