首页 >> 读书频道 >> 电脑 >> Recordset Cursors: 选择正确的游标
 
· 数据库设计经验谈
· 利用SQL发E-MAIL
· 影响SQL server
· 用ASP调用SQL Se
· 如何操作SQL的TXT字
· 怎样将一个表中的Iden
· 让SQL飞起来
· 在ASP中判断SQL语句
· SQL中代替Like语句
· Sql Server F
· ASP指南:ADO/SQ
· ASP+Access的安
 
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 红楼梦:120回全本[清
· 武林寓言故事
· 2006高考录取规则
· 首批中国世界名牌产品和2
· 济南美食大全
· 管理三十六计
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

Recordset Cursors: 选择正确的游标


查看有无更新版本

关键字:ASP与数据库 2006-8-28

 

Recordset Cursors: 选择正确的游标

如果你在ADO里显式地创建了一个recordset对象,你就可以制定你想使用的游标类型. 下面的代码可以用来显式地创建recordset:

Set rs = Server.CreateObject("ADODB.Recordset")

你还可以隐式地创建一个recordset对象,大部分时候开发者们都是这么做的. 例如我们运行了下面这些代码:

Dim rs, conn
Set conn = Server.CreateObject("ADODB.Connection")

'Open the connection using an Application-level
'connection string conn.Open
Application("Connection_String")

Set rs = conn.Execute("SELECT * FROM pubs")

当最后一行程序被执行后,你就实实在在地拥有了一个recordset对象,并用rs来引用它. 这个recordset对象由ADO/ASP隐式地创建的,它的游标类型是forward-only.
然而,当你显式地创建了一个recordset对象,你就能用如下的代码来设置你所想使用的游标类型:

rs.CursorType = 'Enter cursor type here

游标类型可以是以下四种类型之一:

Forward-only
Static
Keyset
Dynamic
Forward-only型游标占用最少的资源,因而能得到最高的性能. 它也是recordset缺省的游标类型,唯一的缺点是只能单向移动游标. 你只能从头到尾单向遍历记录集,亦即只能使用MoveNext这样的方法,而不能使用MovePrev. 比方说,如果你企图在一个forward-only的recordset里使用MovePrev的方法,你将得到一个错误提示,它告诉你无法利用消防水龙带型的游标来完成你的操作. (所谓的消防水龙带型游标,是指记录集中的记录就是水龙带里的水一样,只能朝一个方向运动.) 要使用一个forward-only型的游标,你应该键入:

rs.CursorType = adOpenForwardOnly

注意: 本文假设你在你的每一个ASP页面中都包含了adovbs.inc
(http://yanh.163.net/doc/advdb/adovbs.zip)这个文件,如果你需要这个文件,你可以点击上面的超链接下载.

第二种游标类型是static游标. 它允许你向任何一个方向移动游标,但如果用户在查看数据集同时,数据集发生了更新,删除或添加的操作,它将无法实时反映数据集的变化. 它就如同数据集在用户在请求数据的时刻的映像(也叫快照,snapshot). 如果数据集的游标是static型的,你可以使用各种各样的遍历数据集的命令,诸如
MoveFirst,MovePrev,MoveLast,RecordCount等等. 你可以键入下面的程序来使用static型游标:

rs.CursorType = adOpenStatic

Dynamic和Keyset型游标可以实时查看数据的更动. 但这只是在VisualBASIC应用程序起作用,对于Web页面则一点儿用都没有. 一旦用户发出数据请求,就同static型游标一样数据集中得到那一时刻的数据映像. 如果用户不刷新他们的浏览器页面,想持续地反应数据的变化是不可能的(除非你去钻研一些IE 4.x及更高版本的新增的数据特性). 由于Web浏览方式的特殊性,你可能根本用不到Keyset或Dynamic型的游标,它们比Static或forward-only型的游标更贪婪地攫取系统的资源. 如果你需要各方向遍历你的数据集,或是想得知数据集中的记录数,就采用Static型游标,否则就用
forward-only型的.

如果你只需要单向遍历一个数据集,那么你就用forward-only型的游标吧,它将节省系统资源,减少查询时间. 总之,你在创建recordset时,应该选择合适的游标!

Recordset Cursors: 选择正确的游标

[ 1 ]
Recordset Cursors: 选择正确的游标 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑