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 テンプレート実装では、すべての基本メソッド (SetData
、InsertRow
、および DeleteRows
) がサポートされています。
重要
プロバイダーを実装する前に、次のドキュメントを読むことを強くお勧めします。
OLE DB プログラマーズ リファレンスの第 6 章
また、UpdatePV サンプルでの
RUpdateRowset
クラスの使用方法に関するページもご覧ください。
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。