Recordset对象的Open函数参数

博客涉及数据库与SQL相关内容,但具体信息缺失。数据库是数据存储管理的重要工具,SQL是用于操作数据库的语言,二者在信息技术领域应用广泛。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Recordset对象的Open函数参数 

我们来谈谈Recordset对象的Open函数参数的意义,参数一是数据表名或者Select指令;参数二为Connection对象,我们着重分析一下参数三和参数四的意义。参数三:Recordset类型。 

它含有以下四种设置值 
Recordset类型的设置值 意义 
AdOpenForwardOnly(=0) 只读,且当前数据记录只能向下移动 
AdOpenStaqtic(=3) 只读,当前数据记录可自由移动 
AdOpenKeyset(=1) 可读写,当前数据记录可自由移动 
AdOpenDynamic(=2) 可读写,当前数据记录可自由移动 
注:AdOpenKeyset及AdOpenDynamic的差别只表现在多人共用数据库时,若以AdOpenKeyset模式打开数据表,则无法看到其他人新增的数据记录(除非重新启动),若以AdOpenDynamic模式打开数据表,则可以看到其他人新增的数据记录 
参数四:锁定类型。含有以下四种设置值 

锁定类型的设置值 意义 
AdLockReadOnly(=1) 默认值,用来打开只读的数据记录 
AdLockPessimistic(=2) 悲观锁定 
AdLockOptimistic(=3) 乐观锁定 
AdLockBatchOptimistic(=40 批次乐观锁定 
AdLockReadOnly:故名思义,就是只对数据读取数据,而不能对数据库的记录进行有变更的数据操作。 
AdLockPessimistic:它指的是当任何两个程序同时更新同一条记录的时候,只能允许唯一一个程序进行数据更新。例如: 
rs("loginnum")=rs("loginnum")+1 
rs.update 

如果使用了这种模式的模型方式,当程序利用rs("loginnum")=数值语句开始改变数据记录的时候,数据记录就进入了记录锁定状态。 

AdLockOptimistic:它指的是两个程序对同一条记录进行更新的情况几乎不可能发生,因此它只是在数据写入数据的时候暂时锁定数据记录。例如: 
rs("loginnum")=rs("loginnum")+1 
rs.update 

也就是说只有在rs.update执行的时候才开始锁定记录,语句完成后才解锁,这样就有可能发生某一程序对数据记录的更新是不完成的。 

AdLockBatchOptimistic:它在更改数据记录的过程中,暂时不将更新的结果写入数据库,直到调用updatebatch函数时才将整批更新的数据写入数据库,而且也只在在这个时候才锁定欲更新的数据记录。例如: 
while not rs.eof 
rs("loginnum")=rs("loginnum")+1 
rs("applynum")=rs("applynum")+1 
rs.movenext 
rs.updatebatch 
wend 

注意,如果使用这种模式,更新的函数就是updatebatch而不是update了。 

通过以上的介绍,当语句写成:rs.open sql,conn,1,1的时候,其真正意义就是: 

rs.open sql,conn,adopenkeyset,adlockreadonly

Top
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值