|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
一般而言,下面是个典型的打开数据库的过程。 < % \\\'游标类型 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游标方法和其它的加锁方法混合,它反而会支持填加,删除和更新。 返回类别: 教程 上一教程: 在ASP中优化数据库处理 下一教程: 在ASP中列出数据库中的表名和字段名的程序 您可以阅读与"ASP中数据库操作中游标和加锁方法"相关的教程: · 在ASP中操作数据库的方式 · 使用组件封装ASP的数据库操作 · ASP安全写入数据库操作,正常读出并显示在不同的场合 · 如何做一个高效的ASP数据库操作程序 · Access数据库操作中出现的怪现象 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |