实现 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
书签的类型,如长或字符串。 普通的书签必须具有长度至少两个字节。(单字节长度为 标准书签 OLE DB DBBMK_FIRST,DBBMK_LAST和 DBBMK_INVALID是保留的。)BookmarkType
维护的书签对数据关系的映射机制。BookmarkMapClass
(书签) 占用的任何行句柄的单元格。
成员
接口方法
比较两个书签。 |
|
获取启动行与书签的偏移量指定的行。 |
|
提取与指定书签的行。 |
|
返回指定书签的哈希值。 |
数据成员
一个书签。 |
备注
IRowsetLocateImpl 接口是 IRowsetLocate 的 OLE DB 模板实现。 IRowsetLocate 用于获取从行集合中任意行。 不实现此接口的行集合是 sequential 行集合。 在 IRowsetLocate 上存在行集时,第 0 列是行的书签;读取此列将获取可用于重新定位到同一行中书签的值。
IRowsetLocateImpl 用于实现在提供程序的书签支持。 书签是占位符 (对行集合的索引) 使使用者尽快返回到行,允许对该数据的缓存联接。 提供程序确定书签可以唯一标识行。 使用 IRowsetLocateImpl 方法,您可以比较书签,偏移之前获取由行,由书签提取行并返回书签的哈希值。
要支持在 OLE DB 为行集合书签,以便此类使行集继承。
有关实现书签支持的信息,请参见在 Visual C++ Programmer's Guide 中的 OLE DB Programmer's Reference 和 提供程序的书签支持 书签 在 PlatformSDK。
要求
**头文件:**atldb.h