Bde.DBTables.TDatabase.ApplyUpdates

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

procedure ApplyUpdates(const DataSets: array of TDBDataSet);

C++

void __fastcall ApplyUpdates(TDBDataSet* const *DataSets, const int DataSets_High);

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables TDatabase

説明

指定したデータセット内の未処理のキャッシュアップデートをデータベースサーバーに登録します。

ApplyUpdates メソッドは,開いているデータセットの指定したセットの未処理のキャッシュアップデートをデータベースサーバーに登録します。ApplyUpdates は指定したデータセットの CachedUpdates プロパティが true の場合にのみ内容があります。

DataSets は,どのデータセットの未処理のキャッシュアップデートを登録するかを指定するデータセット名のリストです。DataSets は現在開いているすべてのデータセットをリストする必要はありません。リストされている各データセットに対して ApplyUpdates はデータセットの ApplyUpdatesCommitUpdates メソッドを呼び出して,そのデータセットの未処理のキャッシュアップデートを登録します。

アップデートの適用は,データベースコンポーネントのトランザクションコントロールのコンテキストで発生する 2 段階の処理で行われます。アプリケーションが ApplyUpdates を呼び出すと,以下のイベントが発生します。

  1. データベーストランザクションが開始される
  2. キャッシュアップデートがデータベースに書き込まれる(第 1 段階)

データベースへの書き込みが正常に行われた場合は,以下の処理が行われます。

  1. Database の変更がコミットされ,トランザクションが終了する
  2. CachedUpdates がコミットされ,内部キャッシュバッファが解放される(第 2 段階)

データベースへの書き込みが正常に行われなかった場合は,データベースの変更がロールバックされてトランザクションが終了します。

このような 2 段階での処理により,特に,複数の相互に関連しているデータセット(たとえば,マスター/詳細フォームと関連付けられているデータセットなど)を更新する場合に,エラーの回復を効率的に行えます。

関連項目