AbsolutePosition 属性 (ADO)

指示 Recordset 对象的当前记录的序号位置。

设置和返回值

对于 32 位代码,设置或返回从 1 到 Recordset 对象中的记录数的 Long 值 (RecordCount),或返回 PositionEnum 值之一。

对于 64 位代码,请使用提供 64 位值存储的数据类型。 例如,可以使用 Long 或其他表示 64 位长度的值,例如 DBORDINAL。 请勿使用 PositionEnum 值,因为它们的长度限制为 32 位。

备注

为了设置 AbsolutePosition 属性,ADO 要求所使用的 OLE DB 提供程序需实现 IRowsetLocate:IRowset 接口。

访问使用只进游标或动态游标打开的 AbsolutePosition 属性会引发错误 adErrFeatureNotAvailable。 对于其他游标类型,只要 OLE DB 提供程序支持 IRowsetScroll:IRowsetLocate 接口,就会返回正确的位置。 如果提供程序不支持 IRowsetScroll 接口,则属性设置为 adPosUnknown。 请参阅有关提供程序的文档以确定它是否支持 IRowsetScroll。

使用 AbsolutePosition 属性根据 Recordset 对象中的序号位置移动到记录,或确定当前记录的序号位置。 提供程序必须支持相应功能才能使该属性可供使用。

AbsolutePage 属性一样,AbsolutePosition 从 1 开始,在当前记录为 Recordset 中的第一条记录时等于 1。 可以从 RecordCount 属性获取 Recordset 对象中的记录总数。

设置 AbsolutePosition 属性时,即使是当前缓存中的记录,ADO 也会使用从指定的记录开始的新记录组重新加载缓存。 CacheSize 属性确定该组的大小。

注意

不应将 AbsolutePosition 属性用作代理记录编号。 删除前一条记录时,给定记录的位置将发生更改。 如果重新查询或重新打开 Recordset 对象,也无法保证给定记录将具有相同的 AbsolutePosition。 书签仍是保留和返回给定位置的建议方法,也是在所有类型的 Recordset 对象中定位的唯一方法。

应用于

记录集对象 (ADO)

另请参阅

AbsolutePosition 和 CursorLocation 属性示例 (VB)
AbsolutePosition 和 CursorLocation 属性示例 (VC++)
AbsolutePage 属性 (ADO)
RecordCount 属性 (ADO)