来源:www.enet.com.cn
一般而言,下面是个典型的打开数据库的过程。
< %
'游标类型
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
'加锁类型
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4
%>
< % Set Conn = Server.CreateObject('ADODB.Connection') %>
< % Set RSMov = Server.CreateObject('ADODB.RecordSet') %>
< % Conn.Open 'Soc', '', '' %>
< % RSMov.Open sqlMov, Conn, adOpenKeyset, adLockReadOnly %>
游标使用时是比较灵活的,它有时用来描述一个记录集,有时又是用来描述当前记录集中某一条记录的指针。游标主要是用来建立一个关系数据库中行/列关系的一种SQL可利用的访问格。与游标有关系的技术术语还有一个叫Bookmark的。如果你选择的游标方式支持Bookmarks。数据库将提供有关记录数目的强大功能。在上面写出的那么多游标方式中,adOpenDynamic是没有太的用处的,虽然它提供实时显示数据库中的记录的所有更新操作的功能,但是因为并不是所有的数据库都支持该游标方式,没有移植性的游标方式对当前错综复杂的数据库来说真是用处不大。在实际的编程中,我相信大家使用得最频繁的是adOpenStatic方式,当然这种方式的缺点是不能够就、实时反应出数据库中内容改变时的状况。如果要想看到数据库被其它用户改变的状况,可使用adOpenKeyse方式(但是它只能够反应出被编辑的改变情况,也就是说不能够反映出新增和删除记录的改变情况。)
其实上面的内容大家一般都可以在微软的技术参考资料中找到,下面来说说在使用这些游标
方式和加锁方式时要注意到的问题。
1。首先要注意到的是这两种方式在混合使用时的问题,就是说你同时设置游标方式和加锁方式。
除非你是在使用Access数据库,一般而言当你混合使用时是并不能够得到你预期想要的游标方式和加锁方式的。例如,如果你同时将游标设置为adOpenStatic方式,而将加锁设置为adLockOptimistic,你将得不到adOpenStatic方式的游标,你这时使用的游标方式将是
adOpenKeyset,也就是说你使用ADO的话,它将返回adOpenKeyset的游标。
2。其次,游标和加锁的混合使用还会导致ADO返回的不是你想要的加锁方式,ADO会改变你的加锁
方式。例如,在默认状态下游标方式是adOpenForwardOnly,在使用这种游标方式的同时如果
你使用的加锁方式为-1(就是让数据源来判断加锁方式)或则adLockReadOnly,那么这种混合方式基本上不支持RecordSet的任何方法,也就是说RecordSet的任何方法将返回False
(你的recordcount,absoultpage,addnew,delete,update等都会返回-1,-1就是表示不支持该属性),但是这时如果你使用的是adOpenForwardOnly游标方式和其它的加锁方式混合,它反而会支持填加,删除和更新。
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式