使用 CacheSize
使用 CacheSize 屬性來控制一次從提供者擷取到本機記憶體的記錄數目。 例如,如果 CacheSize 為 10,在先開啟 Recordset 對象之後,提供者會將前 10 筆記錄擷取到本機記憶體中。 當您在 Recordset 物件中移動時,提供者會從本機記憶體緩衝區傳回數據。 一旦您移過快取中的最後一筆記錄,提供者就會從數據源擷取接下來的 10 筆記錄到快取中。
注意
CacheSize 是根據 Recordset 物件的 Properties 集合中的 Maximum Open Rows 提供者特定屬性。 您無法將 cacheSize 設定為大於 最大開啟數據列的值。 若要修改提供者可以開啟的數據列數目,請設定 [開啟的數據列上限]。
CacheSize 的值可以在 Recordset 物件的存留期間進行調整,但變更此值只會影響從數據源後續擷取之後快取中的記錄數目。 單獨變更屬性值並不會變更快取的目前內容。
如果擷取的記錄少於 CacheSize 指定,提供者會傳回剩餘的記錄,而且不會發生錯誤。
不允許 CacheSize 設定為零,並傳回錯誤。
從快取擷取的記錄不會反映其他使用者對源數據所做的並行變更。 若要強制更新所有快取的數據,請使用 Resync 方法。
如果 CacheSize 設定為大於 1 的值,則巡覽方法(Move、MoveFirst、MoveLast、MoveNext 和 MovePrevious)可能會導致巡覽至已刪除的記錄,如果在擷取記錄之後發生刪除。 初始擷取之後,在您嘗試從已刪除的數據列存取數據值之前,後續刪除將不會反映在數據快取中。 不過,CacheSize 設定為 1 可排除此問題,因為無法擷取已刪除的數據列。