rs.open参数

Recordset.open [Source][,ActiveConnection][,CursorType][,LockType][,Options ]
各参数的含义是: 
   Source : 可以是一个SQL查询、数据表或存储过程 
   ActiveConnection: 可以是一个已打开的连接,或连接字符串 
   CursorType:游标类型,定义如下 
0(adOpenForwardOnly): 只能在Recordset的记录中向前移动,但速度最快。 
1(adOpenKeyset):可以在Recordset中任意移动,其他用户所做的记录修改可见,但其他用户添加的记录不可见,删除的记录字段值不能被使用。 
2(adOpenDynamic):可以在Recordset中任意移动,其他用户增、删、改的记录都可见,但速度最慢。 
3(adOpenStatic):可以在Recordset中任意移动,其他用户增、删、改的记录都不可见。 
      LockType:并发控制 
0(adLockReadOnly):recordset的记录为只读 
1(adLockPessimistic):只要保持Recordset为打开,别人就无法编辑该记录集中的记录. 
2(adLockOptimistic):当update recordset中的记录时,将记录加锁 
3(adLockBatchOptimistic):以批模式时更新记录时加锁 
   Options:指定source传递命令的类型 
1(adCmdText):SQL语句 
2(adCmdTable):数据表的名字 
4(adCmdStoredProc):存储过程 
8(adCmdUnknown):未知类型

rs.Open sql, conn, A, B

A 代表游标类型: 

adOpenForwardOnly(0)
前滚静态光标。这种光标只能向前浏览记录集,比如用 MoveNext 向前滚动,这种方式可以提高浏览速度。

adOpenKeyset(1)
其它用户对数据库记录的“改”会反映到当前记录集上;其它用户对数据库记录的“增、删”不会反映到当前记录集上。当前数据记录可自由移动。

adOpenDynamic(2)
动态光标。其它用户对数据库记录的“增、删、改”会反映到当前记录集上。当前数据记录可自由移动。

adOpenStatic(3)
静态光标。为记录集产生一个静态备份,其它用户对数据库记录的“增、删、改”不会反映到当前记录集上。当前数据记录可自由移动。

B 代表锁定类型:

adLockReadOnly(1)
缺省锁定类型,记录集是只读的,不能修改记录。

adLockPessimistic(2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录,这是最安全的锁定机制。

adLockOptimistic(3)
乐观锁定 ,直到用 Update 方法提交更新记录时才锁定记录。

adLockBatchOptimistic(4)
批量乐观锁定,允许修改多个记录,只有调用 UpdateBatch 方法后才锁定记录。

当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。 

对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间, 数据在这段时间被更新。这减少了资源的使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值