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
Compare deux signets. |
|
Extrait les lignes commençant par la ligne spécifiée par un offset dans un signet. |
|
Extrait les lignes qui correspondent aux signets spécifiés. |
|
Retourne des valeurs de hachage pour les signets spécifiés. |
Membres de données
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
Prise en charge des signets par le fournisseur