Partager via


classe d'IRowsetLocateImpl

Implémente l'interface OLE DB IRowsetLocate, pour extraire des lignes aléatoires d'un ensemble de lignes.

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 
>

Paramètres

  • T
    Une classe dérivée de IRowsetLocateImpl.

  • RowsetInterface
    Une classe dérivée de IRowsetImpl.

  • RowClass
    L'unité de stockage pour le HROW.

  • MapClass
    L'unité de stockage pour les handles de ligne gérés par le fournisseur.

  • BookmarkKeyType
    Le type du signet, par exemple un LONG ou une chaîne. Les signets ordinaires doivent avoir une longueur d'au moins deux octets. (La longueur codés sur un octet est réservée pour les signets standard OLE DB DBBMK_FIRST, DBBMK_LAST, et DBBMK_INVALID.)

  • BookmarkType
    Le mécanisme de mappage pour gérer les relations de signet-à-données.

  • BookmarkMapClass
    L'unité de stockage pour les handles de ligne gérés par le signet.

Membres

Méthodes d'interface

Comparaison

Compare deux signets.

GetRowsAt

Extrait les lignes commençant par la ligne spécifiée par un offset dans un signet.

GetRowsByBookmark

Extrait les lignes qui correspondent aux signets spécifiés.

Hachage

Retourne des valeurs de hachage pour les signets spécifiés.

Membres de données

m_rgBookmarks

Un tableau de signets.

Notes

IRowsetLocateImpl est l'implémentation de modèles OLE DB de l'interface IRowsetLocate. IRowsetLocate est utilisé pour extraire les lignes aléatoires d'un ensemble de lignes. Un ensemble de lignes qui n'implémente pas cette interface est un ensemble de lignes sequential. Lorsque IRowsetLocate est présent sur un ensemble de lignes, la colonne 0 est le signet pour les lignes ; la lecture cette colonne obtiendra une valeur de signet qui peut être utilisée pour repositionner la même ligne.

IRowsetLocateImpl est utilisé pour implémenter la prise en charge des signets dans les fournisseurs. Les signets sont des espaces réservés (index dans un ensemble de lignes) qui permettent au consommateur de revenir rapidement à une ligne, ce qui permet l'accès à haute vitesse des données. Le fournisseur détermine quels signets peuvent identifier une ligne de manière uique. En utilisant des méthodes IRowsetLocateImpl, vous pouvez comparer des signets, extraire des lignes par décalage, extraire les lignes par signet, et retourner des valeurs de hachage pour des signets.

Pour prendre en charge les signets OLE DB dans un ensemble de lignes, faites l'ensemble de lignes hériter de cette classe.

Pour plus d'informations sur l'implémentation de la prise en charge des signets, consultez Prise en charge par le fournisseur des signets dans le Visual C++ Programmer's Guide et Signets dans le OLE DB Programmer's Reference dans PlatformSDK.

Configuration requise

En-tête : : atldb.h

Voir aussi

Référence

IRowsetLocate:IRowset

Prise en charge des signets par le fournisseur

Bookmarks

Concepts

Modèles du fournisseur OLE DB (C++)

Architecture des modèles du fournisseur OLE DB