使用 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. Git(一)环境搭建 + 常用命令

    上周研究了一下 Git,简单的使用了一下,个人感觉相对 SVN 来说还是有一定学习成本的,这次记录一些自己的学习过程以及常用的命令. 在学习的过程中,同事推荐了一个前辈写的教程([传送门]:Git教程 ...

  2. 微信开发第6章 通过accesstoken获取用户粉丝列表

    上一章我们讲解到open_id获取用户基本信息,那么open_id哪儿来的呢?就是粉丝列表中可以看到的.本次讲解如何获取粉丝列表. 获取粉丝列表 可以查看文档 http://mp.weixin.qq. ...

  3. php开发中的页面跳转方法总结

    PHP页面跳转实现的功能就是将网站中一个网页跳转到另一个网页中.对于刚刚学习PHP语言的朋友来说,是必须要掌握的基础方法. 页面跳转可能是由于用户单击链接.按钮等触发的,也可能是系统自动产生的.页面自 ...

  4. Android解析qq聊天记录表情

    偶然在一个需求中需要解析qq聊天记录表情,表情的格式是以/开始,比如:你好啊?/微笑,在网上找了半天,也没能找到一个比较合适的,所以准备自己实现一下,首先要将表情图片和表情字符对上号,我想了几种解决方 ...

  5. JMS消息类型模型

    JMS有两种消息类型模型,一种是P2P(Point To Point), 另一种是Pub/Sub(Publisher/Subscriber),二者之间的主要区别在于消息是否支持重复消费. P2P模型中 ...

  6. java小算法—大衍数列

    题目:    中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理. 它的前几项是:0.2.4.8.12.18.24.32.40.50 ... 其规律是:对偶数项,是序号平 ...

  7. Ajax 整理总结(入门)

    Ajax 学习要点: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax()方法 6.表单序列化 ...

  8. GWT 实现文件上传和下载

    首先下载两个包 commons-fileupload-?.jar和commons-io-?.jar  将他们配置到你的项目中 先把它们放在 "项目名/war/WEB-INF/lib" ...

  9. C的printf与scanf的用法

    之前没学过C语言,只学过C++,所以就来自学下C语言了,其实个人认为C与C++的区别很小,基本上就是printf与scanf这点输出和输入的区别了,如果还有什么区别的话那就是要包含的头文件是不同的.比 ...

  10. Java jdbc数据库连接池总结!(转)

    1. 引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的 ...