Chinaunix首页 | 论坛 | 博客
  • 博客访问: 686689
  • 博文数量: 90
  • 博客积分: 1631
  • 博客等级: 上尉
  • 技术积分: 1413
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-15 22:43
文章分类
文章存档

2017年(8)

2016年(9)

2015年(11)

2014年(10)

2013年(9)

2012年(9)

2010年(2)

2009年(10)

2008年(22)

我的朋友

分类: SQLServer

2013-02-27 16:28:50

记录集对象Open的语法为:

 

recordset.Open SQL语句,数据库连接对象,游标类型,锁定类型,配置源

 

其中前两个参数为必填项,其他的选填


游标常量 对应常数值 游标说明
-------------------------------------------------------------
adOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标,也是速度最快的游标。
adOpenKeyset 1 启动一个关键集类型的游标。
adOpenDynamic 2 启动一个动态游标。
adOpenStatic 3 启动一个静态游标。
-------------------------------------------------------------


锁定常量 对应常数值 锁定说明
--------------------------------------------------------------
adLockReadOnly 1 缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法
adLockPrssimistic 2 当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。
adLockOptimistic 3 当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
adLockBatchOptimistic 4 当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增删改操作。
-------------------------------------------------------------


毫无疑问,使用默认值效率是最高的,(recordset.Open sql,conn,0,1)
如果需要统计返回记录数以及分页操作的话,就至少必需启动一个集合类型的游标(recordset.Open sql,conn,1,1)
如果需要进行增删改操作的话,可以参考锁定说明,一般是使用常数3的类型(recordset.Open sql,conn,3,3)

另:
set rs=conn.execute(sql)
相当于
rs.open sql,conn,0,1

 

记录集属性如下

rs.movenext 将记录指针从当前的位置向下移一行
rs.moveprevious 将记录指针从当前的位置向上移一行
rs.movefirst 将记录指针移到数据表第一行
rs.movelast 将记录指针移到数据表最后一行
rs.absoluteposition=N 将记录指针移到数据表第N行
rs.absolutepage=N 将记录指针移到第N页的第一行
rs.pagesize=N 设置每页为N条记录
rs.pagecount 根据 pagesize 的设置返回总页数
rs.recordcount 返回记录总数
rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete 删除当前记录,但记录指针不会向下移动
rs.addnew 添加记录到数据表末端
rs.update 更新数据表记录

 

属性

属性 描述
AbsolutePage 设置或返回一个可指定 Recordset 对象中页码的值。
AbsolutePosition 设置或返回一个值,此值可指定 Recordset 对象中当前记录的顺序位置(序号位置)。
ActiveCommand 返回与 Recordset 对象相关联的 Command 对象。
ActiveConnection 如果连接被关闭,设置或返回连接的定义,如果连接打开,设置或返回当前的 Connection 对象。
BOF 如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。
Bookmark 设置或返回一个书签。此书签保存当前记录的位置。
CacheSize 设置或返回能够被缓存的记录的数目。
CursorLocation 设置或返回游标服务的位置。
CursorType 设置或返回一个 Recordset 对象的游标类型。
DataMember 设置或返回要从 DataSource 属性所引用的对象中检索的数据成员的名称。
DataSource 指定一个包含要被表示为 Recordset 对象的数据的对象。
EditMode 返回当前记录的编辑状态。
EOF 如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。
Filter 返回一个针对 Recordset 对象中数据的过滤器。
Index 设置或返回 Recordset 对象的当前索引的名称。
LockType 设置或返回当编辑 Recordset 中的一条记录时,可指定锁定类型的值。
MarshalOptions 设置或返回一个值,此值指定哪些记录被返回服务器。
MaxRecords 设置或返回从一个查询返回 Recordset 对象的的最大记录数目。
PageCount 返回一个 Recordset 对象中的数据页数。
PageSize 设置或返回 Recordset 对象的一个单一页面上所允许的最大记录数。
RecordCount 返回一个 Recordset 对象中的记录数目。
Sort 设置或返回一个或多个作为 Recordset 排序基准的字段名。
Source 设置一个字符串值,或一个 Command 对象引用,或返回一个字符串值,此值可指示 Recordset 对象的数据源。
State 返回一个值,此值可描述是否 Recordset 对象是打开、关闭、正在连接、正在执行或正在取回数据。
Status 返回有关批更新或其他大量操作的当前记录的状态。
StayInSync 设置或返回当父记录位置改变时对子记录的引用是否改变。

方法

方法 描述
AddNew 创建一条新记录。
Cancel 撤销一次执行。
CancelBatch 撤销一次批更新。
CancelUpdate 撤销对 Recordset 对象的一条记录所做的更改。
Clone 创建一个已有 Recordset 的副本。
Close 关闭一个 Recordset。
CompareBookmarks 比较两个书签。
Delete 删除一条记录或一组记录。
Find 搜索一个 Recordset 中满足指定某个条件的一条记录。
GetRows 把多条记录从一个 Recordset 对象中拷贝到一个二维数组中。
GetString 将 Recordset 作为字符串返回。
Move 在 Recordset 对象中移动记录指针。
MoveFirst 把记录指针移动到第一条记录。
MoveLast 把记录指针移动到最后一条记录。
MoveNext 把记录指针移动到下一条记录。
MovePrevious 把记录指针移动到上一条记录。
NextRecordset 通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。
Open 打开一个数据库元素,此元素可提供对表的记录、查询的结果或保存的 Recordset 的访问。
Requery 通过重新执行对象所基于的查询来更新 Recordset 对象中的数据。
Resync 从原始数据库刷新当前 Recordset 中的数据。
Save 把 Recordset 对象保存到 file 或 Stream 对象中。
Seek 搜索 Recordset 的索引以快速定位与指定的值相匹配的行,并使其成为当前行。
Supports 返回一个布尔值,此值可定义 Recordset 对象是否支持特定类型的功能。
Update 保存所有对 Recordset 对象中的一条单一记录所做的更改。
UpdateBatch 把所有 Recordset 中的更改存入数据库。请在批更新模式中使用。
阅读(3607) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~