CacheSize 属性 (ADO)

指示内存中本地缓存的 Recordset 对象的记录数。

设置和返回值

设置或返回一个 Long 值,该值必须大于 0。 默认值为 1。

言论

使用 CacheSize 属性控制从提供程序一次检索到本地内存中的记录数。 例如,如果 CacheSize 为 10,则提供程序在首次打开 Recordset 对象后,将前 10 条记录检索到本地内存中。 在 Recordset 对象中移动时,提供程序将从本地内存缓冲区返回数据。 一旦在缓存中移动最后一条记录,提供程序就会从数据源中检索接下来的 10 条记录到缓存中。

注意

CacheSize 基于特定于提供程序的 最大打开行 属性(在 Recordset 对象的 Properties 集合中)。 不能将 CacheSize 设置为大于 最大打开行的值。 若要修改提供程序可以打开的行数,请设置 最大打开行数

CacheSize 的值可以在 Recordset 对象的生命周期内进行调整,但更改此值只会影响缓存中记录的数量,之后从数据源进行检索。 仅更改属性值不会更改缓存的当前内容。

如果检索的记录数少于 CacheSize 指定,则提供程序将返回剩余记录,并且不会发生错误。

不允许使用 CacheSize 设置零并返回错误。

从缓存检索到的记录不会反映其他用户对源数据的并发更改。 若要强制更新所有缓存的数据,请使用 Resync 方法。

如果 CacheSize 设置为大于一个值,则导航方法(MoveMoveFirst、MoveLast、MoveNext 和 MovePrevious)可能会导致导航到已删除的记录(如果检索记录后删除)。 初始提取后,在尝试从已删除的行访问数据值之前,后续删除不会反映在数据缓存中。 但是,将 CacheSize 设置为一个可消除此问题,因为无法提取已删除的行。

适用于

Recordset 对象 (ADO)

另请参阅

CacheSize 属性示例 (VB)
CacheSize 属性示例 (VC++)
CacheSize 属性示例 (JScript)