RS.OPEN" 的用法

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 SQL,CONN,A,B
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" 的用法)