一、游标的属性设置:

游标是记录集recordset中用于游动逐个查找一条记录的一种机制。查询的数据返回后,通过游标来逐条获取查询的记录。

因此在配置数据库查询方式前可配置游标的属性:

rs.CursorLocation=adUseClient/adUseServer(默认值),反映游标的位置,表明记录集数据是返回到客户端还是停留在服务器端。对于本地服务器无所谓。

conn.CorsorLocation//_ConnectPtr也有该枚举值

rs.CursorType=adOpenKeyset//反映游标是否能前后游动及是否能看到其它用户对数据的修改

二、游标的移动:

rs.MoveFirst() 移动到第一条记录

rs.MoveLast()

rs.MovePrevious()

rs.MoveNext()

rs.Move(num,start)

参数1:为移动数目,负值为向首部移动,正值为向尾部移动

参数2:为移动起始位置,是个枚举值。分别为adBookmark[Current默认值,First,Last],表示当前,首记录,尾记录位置(但是该参数使用后报错,不知为何)。

三、通过游标遍历RecordSet

1.通过rs.adoEOF判断:

rs.adoBOF  before of file 当游标位于首记录之前时,该属性返回True

rs.adoEOF end of file 当游标位于末记录之后一位,该属性返回True

因此常通过while(!rs.adoEOF)作为遍历的判断条件

while(!rs.adoEOF)

{

.....

rs.MoveNext();

}

2.通过for(int i=0;i<rs.GetRecordCount();i++)作为判断条件

四、获取或设置字段值

方法1:通过属性进行设置或获取

rs.Fields.Item["ziduanming"].Value

方法2:通过方法

rs.PutCollection(_variant_t& index,_varint_t& value);

rs.GetCollection(_variant_t& index);

五、RecordSet对象的意义

查询后的数据是以RecordSet对象存放在内存中,通过该对象对查询后的数据进行修改(增删改)

1.创建RecordSet:通过CreateInstance()或Execute()得到;

参考:http://blog.sina.com.cn/s/blog_5dd9ce4e0100mf4p.html

http://www.cnblogs.com/jeffry/p/5827849.html

ADO:游标与RecordSetPtr的更多相关文章

  1. 反射入门-浅谈反射用途_根据Ado游标对象创建list集合

    本人大二菜鸟一只,今天在上课期间有个同学看着C#反射的内容说反射没什么用,一时之间也想不到什么更好的例子,就写了个根据泛型类型和游标反射创建List集合的Demo. 首先创建一个用于封装对应数据的en ...

  2. ASP的高效率的分页算法.net,php同样可以参考

    一般习惯使用的有两种分页算法,一是传统的ADO分页,二是SELECT TOP分页算法.对于小型数据表,比如一两万的数据量的表,我倾向使用ADO算法,对于大型的数据表,则必须采用后者的算法了. 先来说说 ...

  3. SQLServer之锁简介

    锁定义(Definition) 锁定是 DBMS 将访问限制为多用户环境中的行的过程. 以独占方式锁定行或列,不允许其他用户访问锁定的数据,直到锁被释放. 这可确保两个用户不能同时更新行中的同一列. ...

  4. 读书笔记——数据库的ADO开发总结

    基本上是对 ADO+开发指南.pdf 的摘抄和总结,以及个人心得. 文章末尾有<ADO+开发指南.pdf>的资源下载,附带个人批注. --------------------------- ...

  5. ADO中记录集recordSet的使用

    _RecordsetPtr使用方法 _variant_t vUsername,vID,vname; //变量声明_RecordsetPtr m_pRecordset;     //记录集CString ...

  6. ADO接口之_RecordsetPtr

    转自:http://hi.baidu.com/%CE%D2%B6%CF%C1%CB%CB%BC%C4%EE/blog/item/e057c526c6af6c29c995596e.html _Recor ...

  7. ADO.NET编程之美----数据访问方式(面向连接与面向无连接)

    最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...

  8. SQL Server基础之游标

    查询语句可能返回多条记录,如果数据量非常大,需要使用游标来逐条读取查询结果集中的记录.应用程序可以根据需要滚动或浏览其中的数据.本篇介绍游标的概念.分类.以及基本操作等内容. 一:认识游标   游标是 ...

  9. ADO.NET数据访问技术

    ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...

随机推荐

  1. Cannot merge new index 65781 into a non-jumbo instruction! 问题解决(网上摘抄)

    我的报了这个错 Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.buil ...

  2. 最小生成树——Prim(普利姆)算法

    [0]README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解Prim算法的idea 并用 源代码加以实现: 0.2)最小生成树的基础知识,参见 http://blog. ...

  3. 趣味编程:C#中Specification模式的实现(参考答案 - 下)

    一篇文章中我们利用C#语言的特性实现了一种轻量级的Specification模式,它的关键在于抛弃了具体的Specification类型,而是使用一个委托对象代替唯一关键的IsSatisfiedBy方 ...

  4. .net Socket编程

    1.         什么是TCP/IP.UDP?2.         Socket在哪里呢?3.         Socket是什么呢?4.         你会使用它们吗? 什么是TCP/IP.U ...

  5. python设置环境变量

    方法1: 当程序开发完毕,就可以添加到 '/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages'中 ...

  6. Lumen开发:结合Redis实现消息队列(2)

    上一篇讲了Lumen配置Redis,现在来讲一下,如何实现消息队列 2.编写任务类 2.1  任务类结构 默认情况下,应用的所有队列任务都存放在app/Jobs目录.任务类非常简单,正常情况下只包含一 ...

  7. 如何使用subversion管理iOS源代码

    本文转载至 http://2009315319.blog.51cto.com/701759/819216 使用subversion管理iOS源代码 1.安装和配置subversion服务器 在wind ...

  8. iPhone 和 iPad的ios 开发中 利用 WebViewJavascriptBridge组件,通过 UIWebView 对Html进行双向通讯

    本文转载至 http://blog.csdn.net/remote_roamer/article/details/7261490 WebViewJavascriptBridge 项目的 官网 http ...

  9. Command 'java' not found during running appium

    Question: When Execution code:driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4723/wd/hu ...

  10. jQuery.callbacks 注释

    (function( jQuery ) { // String to Object flags format cache var flagsCache = {}; // Convert String- ...