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方法后才锁定记录。

当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。


这次在修改项目的时候,用到Oracle的多表连接,结果自增IID是用序列建的(触发器实现的),结果在打开数据库查询的时候 (rs.open sql,conn,3,3   rs.open sql,conn,1,3)都不行,只有用rs.open sql,conn,2,2才能正常找到项目IID,真是奇怪哦。呵呵,不知道有没有遇到一样问题的。可不可以具体讲一下几种rs打开方式的含意,应该怎么正确的运用。
Posted on 2006-02-27 15:52  Alter-it  阅读(478)  评论(0编辑  收藏  举报