Bde.DBTables.TBDEDataSet.PSUpdateRecord
Delphi
function PSUpdateRecord(UpdateKind: TUpdateKind; Delta: TDataSet): Boolean; override;
C++
virtual bool __fastcall PSUpdateRecord(Data::Db::TUpdateKind UpdateKind, Data::Db::TDataSet* Delta);
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 |
|---|---|---|---|---|
| function | protected | Bde.DBTables.pas Bde.DBTables.hpp |
Bde.DBTables | TBDEDataSet |
説明
更新を 1 件、データベースのテーブルまたはテーブル群に対して適用します。
Bde.DBTables.TBDEDataSet.PSUpdateRecord は Data.DB.TDataSet.PSUpdateRecord を継承しています。以下の内容はすべて Data.DB.TDataSet.PSUpdateRecord を参照しています。
更新を 1 件、データベースのテーブルまたはテーブル群に対して適用します。
プロバイダは、更新を適用するための SQL 文を生成する前に PSUpdateRecord を呼び出して、データセットが別の手段で更新を適用できるようにすることが可能です。たとえば、BDE が利用可能なデータセットは、OnUpdateRecord イベントを生成してアプリケーションに更新を適用させ、OnUpdateRecord イベント ハンドラが更新を適用しない場合には、関連付けられた TUpdateSQL オブジェクトを使用して更新を適用することができます。
UpdateKind は、更新の種類が、挿入(ukInsert)、削除(ukDelete)、変更(ukModify)のいずれなのかを示します。
Delta は、差分データパケットです。現在のレコードは、更新されるレコードを表しています。
PSUpdateRecord は、レコードが更新されたら True を、そうでなければ False を返します。PSUpdateRecord が False を返した場合、プロバイダは動的 SQL を生成して更新を実行し、PSExecuteStatement を呼び出します。
このメソッドは IProviderSupport.PSUpdateRecord メソッドの実装で、デフォルトでは False を返します。これは、TDataSet がデフォルトではプロバイダを実装していないためです。 使用するには、TDataSet の子孫はそれぞれ独自に、これをオーバーライドしなければなりません。