CacheSize 属性 (ADO)

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

设置和返回值

设置或返回必须大于 0 的 Long 值。 默认值为 1。

备注

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

注意

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

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

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

不允许将 CacheSize 设置为零并返回错误。

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

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

应用于

记录集对象 (ADO)

另请参阅

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