次の方法で共有


IRowsetLocateImpl クラス

OLE DB IRowsetLocate インターフェイスを実装します。このインターフェイスは、行セットから任意の行をフェッチします。

template <
   class T, 
   class RowsetInterface, 
   class RowClass = CSimpleRow, 
   class MapClass = CAtlMap < RowClass::KeyType, RowClass* >, 
   class BookmarkKeyType = LONG, 
   class BookmarkType = LONG, 
   class BookmarkMapClass = CAtlMap < RowClass::KeyType, RowClass* >
>
class ATL_NO_VTABLE IRowsetLocateImpl : public IRowsetImpl<
   T, 
   RowsetInterface, 
   RowClass, 
   MapClass
>

パラメーター

  • T
    IRowsetLocateImpl の派生クラス。

  • RowsetInterface
    IRowsetImpl の派生クラス。

  • RowClass
    HROW のストレージ ユニット。

  • MapClass
    プロバイダーが保持するすべての行ハンドルに対するストレージ ユニット。

  • BookmarkKeyType
    LONG や文字列などのブックマークの型。 通常のブックマークは最低 2 バイト長である必要があります。 1 バイト長は、OLE DB の standard bookmarksである DBBMK_FIRSTDBBMK_LAST、および DBBMK_INVALID 用に予約されています。

  • BookmarkType
    ブックマークとデータ間のリレーションシップを維持するためのマップ機構。

  • BookmarkMapClass
    プロバイダーが保持するすべての行ハンドルに対するストレージ ユニット。

解説

IRowsetLocateImpl クラスは、IRowsetLocate インターフェイスの OLE DB テンプレート実装です。 IRowsetLocate インターフェイスを使用して、行セットから任意の行をフェッチします。 このインターフェイスを実装しない行セットは、sequential 行セットです。 IRowsetLocate が行セットにあるとき、列 0 は行のブックマークです。この列を読み取ってブックマーク値を取得し、この値を使用して同じ行に再配置できます。

プロバイダーでブックマーク サポートを実装するには、IRowsetLocateImpl を使用します。 ブックマークは、コンシューマーが行にすばやく戻れるようにするためのプレースホルダー (行セットのインデックス) です。これによって、データへの高速アクセスを行うことができます。 プロバイダーは、ブックマークを使用して行を一意に識別します。 IRowsetLocateImpl の各メソッドを使用することにより、ブックマークの比較、オフセットによる行のフェッチ、ブックマークによる行のフェッチを行ったり、ブックマークのハッシュ値を返したりできます。

行セットで OLE DB のブックマークをサポートするには、行セットがこのクラスから継承されるようにします。

ブックマーク サポートの実装方法については、『Visual C++ Programmer's Guide』の「プロバイダーのブックマーク サポート」および『PlatformSDK』の『OLE DB Programmer's Reference』の「Bookmarks」を参照してください。

必要条件

ヘッダー:atldb.h

参照

参照

IRowsetLocate:IRowset

プロバイダーのブックマーク サポート

Bookmarks

概念

OLE DB プロバイダー テンプレート (C++)

OLE DB プロバイダー テンプレートのアーキテクチャ

その他の技術情報

IRowsetLocateImpl のメンバー