查看: 250|回复: 0
打印 上一主题 下一主题

ASP中数据库操作中游标和加锁方式

[复制链接]
跳转到指定楼层
1#
发表于 2012-10-9 01:51:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  普通而言,下面是个典范的翻开数据库的进程。
  < %
  '游标类型
  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游标方式和其它的加锁方式混合,它反而会支持填加,删除和更新。

文章出自: www.3baidu.net
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 鲜花鲜花 鸡蛋鸡蛋
您需要登录后才可以回帖 登录 | 注册  用百度帐号登录

本版积分规则