ADO:游标与RecordSetPtr

Posted on 2018-05-21 08:59  moisiet  阅读(273)  评论(0编辑  收藏  举报

一、游标的属性设置:

游标是记录集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