次の方法で共有


IRowsetChangeImpl クラス

OLE DB 仕様の IRowsetChange インターフェイスの OLE DB テンプレート実装。

構文

template <
   class T,
   class Storage,
   class BaseInterface = IRowsetChange,
   class RowClass = CSimpleRow,
   class MapClass = CAtlMap <RowClass::KeyType, RowClass*>>
class ATL_NO_VTABLE IRowsetChangeImpl : public BaseInterface

パラメーター

T
IRowsetChangeImpl の派生クラス。

Storage
ユーザー レコード。

BaseInterface
インターフェイスの基本クラス (IRowsetChange など)。

RowClass
行ハンドルのストレージ ユニット。

MapClass
プロバイダーによって保持されているすべての行ハンドルのストレージ ユニット。

要件

ヘッダー: atldb.h

メンバー

インターフェイス メソッド (IRowsetChange で使用されるもの)

名前 説明
DeleteRows 行セットから行を削除します。
InsertRow 行セットに行を挿入します。
SetData 1 つ以上の列にデータ値を設定します。

実装メソッド (コールバック)

名前 説明
FlushData データをストアにコミットするためにプロバイダーによってオーバーライドされます。

解説

このインターフェイスは、データ ストアへの即時書き込み操作を担当します。 「即時」とは、エンド ユーザー (コンシューマーを使用するユーザー) が変更を行った場合、それらの変更が直ちにデータ ストアに送信される (そして元に戻すことができない) ことを意味します。

IRowsetChangeImpl は、OLE DB IRowsetChange インターフェイスを実装します。これにより、既存の行の列の値の更新、行の削除、新しい行の挿入が可能になります。

OLE DB テンプレート実装では、すべての基本メソッド (SetDataInsertRow、および DeleteRows) がサポートされています。

重要

プロバイダーを実装する前に、次のドキュメントを読むことを強くお勧めします。

IRowsetChangeImpl::DeleteRows

行セットから行を削除します。

構文

STDMETHOD (DeleteRows )(HCHAPTER /* hReserved */,
   DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBROWSTATUS rgRowStatus[]);

パラメーター

OLE DB プログラマーズ リファレンス の「IRowsetChange::DeleteRows」をご覧ください。

IRowsetChangeImpl::InsertRow

行セット内の新しい行を作成して初期化します。

構文

STDMETHOD (InsertRow )(HCHAPTER /* hReserved */,
   HACCESSOR hAccessor,
   void* pData,
   HROW* phRow);

パラメーター

OLE DB プログラマーズ リファレンス の「IRowsetChange::InsertRow」をご覧ください。

IRowsetChangeImpl::SetData

1 つ以上の列にデータ値を設定します。

構文

STDMETHOD (SetData )(HROW hRow,
   HACCESSOR hAccessor,
   void* pSrcData);

パラメーター

OLE DB プログラマーズ リファレンス の「IRowsetChange::SetData」をご覧ください。

IRowsetChangeImpl::FlushData

データをストアにコミットするためにプロバイダーによってオーバーライドされます。

構文

HRESULT FlushData(HROW hRowToFlush,
   HACCESSOR hAccessorToFlush);

パラメーター

hRowToFlush
[in] データの行を処理します。 この行の型は、IRowsetImpl クラスの RowClass テンプレート引数から決定されます (既定では CSimpleRow)。

hAccessorToFlush
[in] アクセサーへのハンドル。これには、PROVIDER_MAP のバインド情報と型情報が格納されます (IAccessorImpl を参照)。

戻り値

標準の HRESULT。

関連項目

OLE DB プロバイダー テンプレートに関するページ
OLE DB プロバイダー テンプレートのアーキテクチャ