ADO游标类型有四种,程序中常用第二种AdOpenKeyset,
AdOpenForwardOnly = 0 '只能用MoveNext读取,并且打开的同时建立的数据库的备份,不能即时体现数据库记录状态,比如记录的编辑和增删.
AdOpenKeyset = 1 '可上下滚动的游标,给打开的记录创建了一个关键字列表,类似记录集的描述,访问的时候才去取得数据值,就是说可以即时看到修改信息,但是不能即时得到数据是否删除的信息,因为这个关键字列表是事先初始化好的.
AdOpenDynamic = 2 '完全可滚动,可得到数据的最新状态,执行效率也会有所降低.
AdOpenStatic = 3 ' 完全可滚动,但是和adOpenKeyset类似,它先将数据库备份文件之后进行操作.可以断开数据库连接后继续使用.
ADO锁的类型有四种,在不需要对数据库数据进行更新的读取操作中,推荐使用AdLockReadOnly只读锁;当添加删除更新一条记录时,推荐使用AdLockPessimistic锁,防止你在更新一条记录时其他人操作相同的记录,或其他人同时录入不合法的重记录。比如用户名注册,在用户查重和提交新名称的过程中有间隔,防止在间隔期其他用户提交你已通过查重的合法名称,或录入两个相同名称。
AdLockReadOnly = 1'只读锁,不能操作记录
AdLockPessimistic= 2'悲观锁,操作者打开之后立即上锁,直到修改完成或者放弃修改为止,此时其他人无法编辑.
AdLockOptimistic= 3'乐观锁,当记录将要被更新的时候才开始上锁,但是不能保证在提交修改之前是否有人改动过.
AdLockBatchOptimistic= 4'批量乐观锁,SQL server中要使用它,必须打开一个可上下滚动的游标,如adOpenKeyset,adOpenStatic.
例(asp):
读取数据库时
set res=server.CreateObject("adodb.recordset")
res.open sql语句,数据库连接,1,1
更新数据库时
set res=server.CreateObject("adodb.recordset")
res.open sql语句,数据库连接,1,2