ADO:游标与RecordSetPtr
一、游标的属性设置:
游标是记录集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的更多相关文章
- 反射入门-浅谈反射用途_根据Ado游标对象创建list集合
本人大二菜鸟一只,今天在上课期间有个同学看着C#反射的内容说反射没什么用,一时之间也想不到什么更好的例子,就写了个根据泛型类型和游标反射创建List集合的Demo. 首先创建一个用于封装对应数据的en ...
- ASP的高效率的分页算法.net,php同样可以参考
一般习惯使用的有两种分页算法,一是传统的ADO分页,二是SELECT TOP分页算法.对于小型数据表,比如一两万的数据量的表,我倾向使用ADO算法,对于大型的数据表,则必须采用后者的算法了. 先来说说 ...
- SQLServer之锁简介
锁定义(Definition) 锁定是 DBMS 将访问限制为多用户环境中的行的过程. 以独占方式锁定行或列,不允许其他用户访问锁定的数据,直到锁被释放. 这可确保两个用户不能同时更新行中的同一列. ...
- 读书笔记——数据库的ADO开发总结
基本上是对 ADO+开发指南.pdf 的摘抄和总结,以及个人心得. 文章末尾有<ADO+开发指南.pdf>的资源下载,附带个人批注. --------------------------- ...
- ADO中记录集recordSet的使用
_RecordsetPtr使用方法 _variant_t vUsername,vID,vname; //变量声明_RecordsetPtr m_pRecordset; //记录集CString ...
- ADO接口之_RecordsetPtr
转自:http://hi.baidu.com/%CE%D2%B6%CF%C1%CB%CB%BC%C4%EE/blog/item/e057c526c6af6c29c995596e.html _Recor ...
- ADO.NET编程之美----数据访问方式(面向连接与面向无连接)
最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...
- SQL Server基础之游标
查询语句可能返回多条记录,如果数据量非常大,需要使用游标来逐条读取查询结果集中的记录.应用程序可以根据需要滚动或浏览其中的数据.本篇介绍游标的概念.分类.以及基本操作等内容. 一:认识游标 游标是 ...
- ADO.NET数据访问技术
ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...
随机推荐
- phalcon builder 用法
$rawSql = $builder->columns(["aa","bb"]) ->from("TableName") -&g ...
- 如何通过Git命令行把代码提交到github上
1.http://www.cnblogs.com/leesf456/p/5169765.html 参考博客 背景:最近入手了mac,看见mac上的大神都是在用git命令行推代码,我很羡慕有木有,好 ...
- python第三方库地址
python第三方库的地址: requests: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html beautifus ...
- centos7.0 安转apache2.4
安装apache2.4的需要安转apr和apr-util 包 APR和APR-util的下载地址 http://apache.fayea.com//apr/apr-1.6.2.tar.gzhttp:/ ...
- java中业务接口
今天写完业务层在抽取接口的时候脑子里突然产生了一个问题:抽取接口到底有什么用呢? 在刚刚学习接口的时候知道接口是为了实现java的多继承,但是现在每一个业务类都要抽取一个接口,每当该类需要增加方法的时 ...
- SDOI 2016 Round1 Day1
储能表 /* 引自zyz大佬的数学思想 */ #include<cstdio> #include<iostream> using namespace std; typedef ...
- Dire Wolf(区间DP)
Dire Wolf Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others)Total ...
- EasyNVR完美搭配腾讯云CDN/阿里云CDN进行RTMP、HLS直播加速的使用说明
1.相关资料入口 腾讯云LVB EasyNVR.com 2.加速说明 2.1. 腾讯LVB加速 2.1.1. 开通服务 腾讯云视频LVB开通入口 2.1.2. 登录进入控制台 腾讯云直播控制台 2.1 ...
- devexpress gridcontrol如何遍历每一行
List<Medicine> medicinelist = new List<Medicine>(); foreach (GridViewRow row in GridView ...
- NSURLSession各文件关系
NSURLSession 通过session创建任务 @property (class, readonly, strong) NSURLSession *sharedSession; + (NSU ...