分类: 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 中的更改存入数据库。请在批更新模式中使用。 |