
RecordSet中的open完全的语法是:
 SecordSet.Open Source,ActiveConnection,CursorType,LockType,Options
例如: rs.open sql,conn,1,3
 CursorType是
 adOpenForwardOnly 0 默认游标类型, 为打开向前游标, 只能在记录集中向前移动.
 adOpenKeyset 1 打开键集类型的游标, 可以在记录集中向前或向后移动. 如果其他用户修改或删除了一条记录, 记录集中将反映这个变化. 但是, 如果其他用户添加了一条新记录, 新记录不会出现在记录集中.
 AdOpenDynamic 2 打开动态游标, 可以在记录集中向前或向后移动. 其他用记造成的记录的任何变化都将在记录集中有所反映.
 adOpenStatic 3 打开静态游标, 可以在记录集中向前或向后移动. 但是, 静态游标不会对其他用户造成的记录变化有所反映.
 LockType是
 adLockReadOnly 1 只读锁定, 指定不能修改记录集中的记录.
 adLockPrssimistic 2 保护式锁定, 指在编辑一个记录时, 立即锁定它.
 adLockOptimistic 3 开放式锁定, 指定只有调用记录集的 Update() 方法时才能锁定记录,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
 adLockBatchOptimistic 4 开放式批锁定, 指定记录只能成批地更新.
 最常用的两种方法:
 rs.open sql,conn,1,1 ‘读取显示数据时用,只读
 rs.open sql,conn,1,3 ‘更新或插入数据时用,读写
 —————————————————————————————–
参考:
 RS.OPEN SQL,CONN,A,B
 参数A为设定游标的类型,其取值为:
 0 仅向前游标,只能向前浏览记录,不支持分页、Recordset、BookMark
 1 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
 2 动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。
 3 静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
参数B为记录集的锁定类型,其取值为:
 1 锁定类型,默认的,只读,不能作任何修改
 2 当编辑时立即锁定记录,最安全的方式
 3 只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
 4 当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的
打开数据记录集方法其实不止一种,但是我们用的最多的就是
 rs.open sql,1,1的方法,可是后面的数字参数很多人不解其意,下面我们来介绍一下。
 其实open方法后面有多个参数
 CursorType LockType CommandType
 比如 rs.open sql,1,1
 也可以写成
 rs.cursorType = 1
 rs.LockType = 1
 rs.open sql
 其中CursorType代表从一个表或者一个SQL查询结果返回的记录。
 这个参数有四个值分别是:
 adOpenForwardOnly 表示只允许在记录集内的记录间往前移动。这个是缺省值。
 adOpenKeyset 反映由其它用户所做的对记录的改变或者删除动作,但并不反映由其它用户做作的添加新记录的动作。
 adOpenDynamic 反映由其它用户所做的对记录的改变或者删除动作,包括添加的新记录
 adOpenStatic 不反映其它用户对记录所做的修改,添加,删除动作。
 这四个值VBSCRIPT预定义位
 adOpenForwardOnly = 0
 adOpenKeyset = 1
 adOpenDynamic = 2
 adOpenStatic = 3
lockType 表示当打开记录集时,数据提供者用于锁定数据库的类型:
 adLockReadOnly 数据不能改变,这是缺省值!
 adLockPessimistic 数据提供者在开始编辑数据的时候锁定记录
 adLockOptimistic 仅当调用update方法时,数据提供者锁定记录
 adLockBatchOptimistic 用于批处理修改
 他们的常量值定义分别是:
 adLockReadOnly = 1
 adLockPessimistic = 2
 adLockOptimistic = 3
 adLockBatchOptimistic = 4
» ASP打开数据库的锁定类型和游标类型
