Asp mysql 查询加锁,ASP打开数据库的锁定类型和游标类型

0462cb06f956a5b1538cc1e38fb14c0b.png

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值