メインメニューを開く

RAD Studio API Documentation β

Datasnap.DBClient.TCustomClientDataSet.ApplyUpdates

Delphi

function ApplyUpdates(MaxErrors: Integer): Integer; virtual;

C++

virtual int __fastcall ApplyUpdates(int MaxErrors);

プロパティ

種類 可視性 ソース ユニット
function public
Datasnap.DBClient.pas
Datasnap.DBClient.hpp
Datasnap.DBClient TCustomClientDataSet

説明

クライアント データセットに対して更新、挿入、削除のいずれかが行われたレコードをすべてプロバイダに送信して、データベースに書き込ませます。

ApplyUpdates を呼び出すと、クライアント データセットに対して更新、挿入、削除のいずれかが行われたレコードをすべてデータベースまたはソース データセットに書き込むことができます。MaxErrors は、プロバイダにより更新操作が中断されるまでに許容されるエラーの最大数を指定します。MaxErrors を -1 に設定すると、エラーの数が無制限であると指定することになります。

ApplyUpdates

1. BeforeApplyUpdates イベントを発生させます(このイベントは TCustomClientDataSet の一部の下位クラスではパブリックでない場合があります)。

2. プロバイダを呼び出して、Delta プロパティに格納されている更新を適用させます。データベースに適用しようとしてエラーが発生したためプロバイダからレコードを返された場合は、それらを受け取ります。

3. AfterApplyUpdates イベントを発生させます(このイベントは TCustomClientDataSet の一部の下位クラスではパブリックでない場合があります)。

4. クライアント データセットの Reconcile メソッドを呼び出して、ステップ 2 で返されたレコードをすべて調停します。

警告:  更新がメモ フィールドに対する別のユーザーによる変更と競合する場合、プロバイダはそれを検出できません。サーバーは、これらの競合をエラーとして検出して返すことはありません。

ApplyUpdates は、発生したエラーの数を返します。この戻り値と MaxErrors の設定に基づいて、正常に適用されたレコードがクライアント データセットの変更ログから削除されます。更新がすべて適用される前に更新処理が中止された場合、適用されていない更新は変更ログにそのまま残ります。

関連項目