中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > Asp > 数据库
Sql中游标和加锁的问题
作者:hsboy 时间:2001-11-08 10:56 出处:互联网 责编:chinaitpower
              摘要:Sql中游标和加锁的问题

 

<%
'游标类型
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 '数据源名称', 'sa', ' >%
<% 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游标方式和其它的加锁方式混合,它反而
会支持填加,删除和更新。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有