Свойство CacheSize (ADO)

Указывает количество записей из объекта Recordset , которые кэшируются локально в памяти.

Параметры и возвращаемые значения

Задает или возвращает значение Long , которое должно быть больше 0. Значение по умолчанию: 1.

Комментарии

Используйте свойство CacheSize для управления количеством записей, извлекаемого одновременно в локальную память от поставщика. Например, если значение CacheSize равно 10, то после первого открытия объекта Recordset поставщик извлекает первые 10 записей в локальную память. При перемещении по объекту Recordset поставщик возвращает данные из локального буфера памяти. Как только вы перейдете к последней записи в кэше, поставщик извлекает следующие 10 записей из источника данных в кэш.

Примечание

CacheSize основан на свойстве поставщика Maximum Open Rows (в коллекции Properties объекта Recordset ). Параметру CacheSize нельзя присвоить значение, превышающее максимальное число открытых строк. Чтобы изменить количество строк, которые могут быть открыты поставщиком, задайте максимальное число открытых строк.

Значение CacheSize можно изменить в течение срока жизни объекта Recordset , но изменение этого значения влияет только на количество записей в кэше после последующего извлечения данных из источника данных. Изменение значения свойства само по себе не приведет к изменению текущего содержимого кэша.

Если требуется получить меньше записей, чем указано в CacheSize , поставщик возвращает оставшиеся записи, и ошибка не возникает.

Параметр CacheSize с нулевым значением не допускается и возвращает ошибку.

Записи, полученные из кэша, не отражают параллельные изменения, внесенные другими пользователями в исходные данные. Чтобы принудительно обновить все кэшированные данные, используйте метод Resync .

Если параметр CacheSize имеет значение больше единицы, методы навигации (Move, MoveFirst, MoveLast, MoveNext и MovePrevious) могут привести к переходу к удаленной записи, если удаление происходит после извлечения записей. После первоначальной выборки последующие удаления не будут отражены в кэше данных, пока вы не попытаеесь получить доступ к значению данных из удаленной строки. Однако установка значения CacheSize в значение one устраняет эту проблему, так как удаленные строки не могут быть удалены.

Применение

Объект Recordset (ADO)

См. также:

Пример свойства CacheSize (Visual Basic)
Пример свойства CacheSize (Visual C++)
Пример свойства CacheSize (JScript)