使用 CacheSize 属性可以控制一次要从提供者那里将多少个记录检索到本地内存中。例如,如果 CacheSize 为 10,首次打开 Recordset 对象后,提供者将把前 10 个记录检索到本地内存。在 Recordset 对象中移动时,提供者将从本地内存缓冲区返回数据。 一旦移动超过缓存中的最后一个记录,提供者便将数据源中随后的 10 个记录检索到缓存中。

注 意   CacheSize 是基于提供者特有的 Maximum Open Rows 属性的(该属性在 Recordset 对象的 Properties 集合中)。不能将 CacheSize 设置为大于 Maximum Open Rows 的值。若要修改可以由提供者打开的行数,请设置 Maximum Open Rows。

可以在 Recordset 对象的存活期内调整 CacheSize 的值,但是更改该值只会影响随后从数据源检索到缓存的记录数。只更改属性值将不会更改缓存中的当前内容。

如果要检索的记录比 CacheSize 指定的少,提供者将返回剩余的记录而不会产生错误。

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

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

如果将 CacheSize 设置为大于 1 的值,则定位方法(MoveMoveFirst、MoveLast、MoveNext 和 MovePrevious)可能导致导航操作删除记录(如果删除发生在检索到记录之后)。除非试图访问已删除的行中的数据值,当完成最初的提取后,随后的删除将不会反映到数据缓存中。但是,因为无法提取已删除的行,所以将 CacheSize 设置为 1 可解决此问题

RecordSet .CacheSize, Properties,CurserType,PageSize的更多相关文章

  1. spring day02-go3

    1.复制xml到container/basic包下2.ExampleBean中设置属性,包括基本类型(String和age)和集合类型(List,Set,Map),Properties类型3.添加无参 ...

  2. Delphi数据库处理

    Delphi数据库处理 第一节 BDE.ADO.InterBase和dbExpress Delphi中处理数据库主要有两种方法,也就是BDE.ADO,从Delphi 6.0开始还加入了一种dbExpr ...

  3. .Net下的高效分页

    本文技术方案支持.Net/.Net Core/.Net Framework 数据分页,几乎是任何应用系统的必备功能.但当数据量较大时,分页操作的效率就会变得很低.大数据量分页时,一个操作耗时5秒.10 ...

  4. ASP利用Recordset实现分页

    <!--#INCLUDE FILE="../function/db.asp" --> <!--#INCLUDE FILE="../function/co ...

  5. Ado Recordset.open

    Recordset.open Recordset 对象的 Open 方法 允许用户向数据库发出请求,通过是运行一个 SQL命令.启动一个指定的数据表或调用一个指定的 Stored Procedure ...

  6. delphi 原生 ADODB.recordset

    ADODB.recordset ..\source\rtl\win\Winapi.ADOInt.pas..\17.0\OCX\Servers\ADODB2010.pasCLASS_Recordset: ...

  7. catalina.properties

    追踪 startup.bat set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat" call "%EXECUTABLE%&q ...

  8. VB6.0 读取Excel文件并返还数据集RecordSet

    读取Excel文件并返还数据集RecordSet 该方法适用于.xls,.xlsx类型的文件 读取Excel文件的Function: '取得数据集 Function getRecordSetForEx ...

  9. adodb.RecordSet的属性和方法

    为了更精确地跟踪数据,要用RecordSet组件创建包括数据的游标,游标就是储存在内存中的数据: rs = Server.CreateObject("ADODB.RecordSet" ...

随机推荐

  1. How I Mathematician Wonder What You Are! - POJ 3130(求多边形的核)

    题目大意:判断多多边形是否存在内核. 代码如下: #include<iostream> #include<string.h> #include<stdio.h> # ...

  2. java中进程与线程--三种实现方式

    一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程. 进程:进程是指 ...

  3. getaccesstoken方法

    通过appid和appsecret获取access_token的定义函数 这里用的是memcache缓存存储用户信息7000秒 <?php function getAccessToken($ap ...

  4. [置顶] RGB颜色查询对照表

    因为兼容性问题,色阶板功能只能在IE浏览器中运行 RGB颜色对照表   #FFFFFF   #FFFFF0   #FFFFE0   #FFFF00   #FFFAFA   #FFFAF0   #FFF ...

  5. [D3] 8. Margins

    If you want ot add margins, should append graphics container in svg var svg = d3.select('#chartArea' ...

  6. UVA10518 - How Many Calls?(矩阵高速幂)

    UVA10518 - How Many Calls?(矩阵高速幂) 题目链接 题目大意:给你fibonacci数列怎么求的.然后问你求f(n) = f(n - 1) + f(n - 2)须要多少次调用 ...

  7. oracle常用数据类型

    oracle中常用数据类型分为三大类:

  8. android获取其他应用权限(修改状态)

    这两天老大发话说要我研究一下安卓安全软件的功能,先抽取了一个小模块,研究权限管理 一开始就去packagemanager 去看发现有几个方法: 就先去看了一下IPackagemanager 里面的方法 ...

  9. Linux删除除了某些文件之外的所有文件(夹)

    例如:删除当前目录下除了.tar.gz和.py结尾的其他文件 shopt -s extglob rm -rf !(*.py|*.tar.gz)

  10. return与finally

    当return遇到了finally,先标记return的值,然后执行finally,当finally修改了return的值,那么执行finally后,传递最后一次return的值,若finally没有 ...