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 对象中定位的唯一方法。
应用于
另请参阅
AbsolutePosition 和 CursorLocation 属性示例 (VB)
AbsolutePosition 和 CursorLocation 属性示例 (VC++)
AbsolutePage 属性 (ADO)
RecordCount 属性 (ADO)