这两个是游标,具体的作用是:
RS.OPEN SQL,CONN,A,B
A:
ADOPENFORWARDONLY(=0)
只读,且当前数据记录只能向下移动
ADOPENKEYSET(=1)
只读,当前数据记录可自由移动
ADOPENDYNAMIC(=2)
可读写,当前数据记录可自由移动
ADOPENSTATIC(=3)
可读写,当前数据记录可自由移动,可看到新增记录
B:
ADLOCKREADONLY(=1)
缺省锁定类型,记录集是只读的,不能修改记录
ADLOCKPESSIMISTIC(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。
ADLOCKOPTIMISTIC(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。
ADLOCKBATCHOPTIMISTIC(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。
当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。
总结一下:
sql,conn,1,1 代表不允许更新,一般用于查询操作。
sql,conn,1,3 代表允许更新,一般用于插入,更新和删除操作。
Rs.open Source, ActiveConnection, CursorType, LockType, Options
游标CursorType
常量值说明adOpenDynamic2使用动态游标。其他用户所作的添加、更改或删除均可见,而且允许Recordset 中的所有移动类型(如果提供者不支持书签,则书签除外)。adOpenForwardOnly0默认值。使用仅向前游标。除了在记录中只能向前滚动外,与静态游标相同。当只需要在Recordset 中进行一个传递时,用它可提高性能。adOpenKeyset1使用键集游标。尽管从您的Recordset 不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,它和动态游标相似。其他用户所作的数据更改依然可见。adOpenStatic3使用静态游标。一组记录的静态副本,可用于查找数据或生成报告。其他用户所作的添加、更改或删除不可见。adOpenUnspecified-1不指定游标类型。
LockType
LockType属性是Recordset对象中的又一个重要属性。当打开记录集时,可以指定锁定类型LockType。锁定就是如何确保数据的完整性,确保更改不会被覆盖。需要避免的典型情况是多次更新,比如一个用户改动了一些数据,接着另一个用户立即又将其做了修改。为了避免这种情况发生,就要锁定记录。有许多不同的方法可以保证记录得到保护,可通过锁定类型来设置这些方法。
LockType的值
常量值说明adLockBatchOptimistic4指示开放式批更新。需要批更新模式。adLockOptimistic3指示逐个记录开放式锁定。提供者使用开放式锁定,仅在调用Update 方法时锁定记录。adLockPessimistic2指示逐个记录保守式锁定。提供者要确保记录编辑成功,通常在编辑之后立即在数据源锁定记录。adLockReadOnly1默认。指示只读记录。无法改变数据。adLockUnspecified-1未指定锁定类型。创建副本时,副本与源对象使用相同的锁定类型。
rs.open语法如下:rs.open
source,activeconnection,cursortype,locktype
source为sql语句,activeconnection为数据库连接,cursortype是游标,locktype是数据锁定类型.
cursortype
常量
说明
adopenforwardonly(值为0)
(默认值)打开仅向前类型游标。
adopenkeyset(值为1)
打开键集类型游标。
adopendynamic(值为2)
打开动态类型游标。
adopenstatic(值为3)
打开静态类型游标。
-----------------------
locktype
常量
说明
adlockreadonly
(值为1)
(默认值)只读
—
不能改变数据。
adlockpessimistic(值为2)
保守式锁定(逐个)
—
提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录来完成。
adlockoptimistic(值为3)
开放式锁定(逐个)
—
提供者使用开放式锁定,只在调用
update
方法时才锁定记录。
adlockbatchoptimistic(值为4)
开放式批更新
—
用于批更新模式(与立即更新模式相对)。
cursortype
0
仅向前游标,只能向前浏览记录,不支持分页、recordset、bookmark
1
键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、recordset、bookmark
2
动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。
3
静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
locktype
locktype为记录集的锁定类型,其取值为:
1
锁定类型,默认的,只读,不能作任何修改
2
当编辑时立即锁定记录,最安全的方式
3
只有在调用update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
4
当编辑时记录不会被锁定,而更改、插入和删