使用 CacheSize

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

注意

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

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

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

不允许将 CacheSize 设置为零,否则会返回错误。

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

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