一, 游标的属性设置:
游标是记录集 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://www.bubuko.com/infodetail-2610374.html