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打开方式的含意,应该怎么正确的运用。

相关文章:

  • 2021-09-08
  • 2022-12-23
  • 2021-09-29
  • 2021-11-17
  • 2021-06-11
  • 2021-10-02
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-05-28
  • 2021-11-02
  • 2021-11-19
  • 2021-09-04
相关资源
相似解决方案