若要让RecordSet移动到上一条下一条的位置,让我们先学会以下RecordSet对象的属性和方法:
BOF属性:当前游标指到RecordSet的第一条记录。
EOF属性:当前游标指到RecordSet的最后一条记录。
Move方法:移动游标到RecordSet中的某一个记录。
AbsolutePosition属性:当前游标在RecordSet中的位置。
bookmark(书签)属性:对RecordSet的一条记录做一个记号。
详细介绍如下:
BOF与EOF属性
可以编写程式码来检查BOF与EOF属性,来得知当前游标RecordSet的位置:
BOF与EOF都为False:表示游标位于RecordSet当中。
BOF为True:当前游标指到RecordSet的第一条记录。
EOF为True:当前游标指到RecordSet的最后一条记录。
BOF与EOF都为True:在RecordSet里没有任何的资料记录。
Move方法
您可以用Move方法移动游标到RecordSet中的某一条记录:
MoveFirst方法:移至第一条记录。
MoveLast方法:移至最后一条记录。
MoveNext方法:移至下一条记录。
MovePrevious方法:移至上一条记录。
Move [n]方法:移动游标到第n条记录,n由0算起。
AbsolutePosition属性
若您需要确定当前游标在RecordSet中的位置,您可以用AbsolutePosition属性。
AbsolutePosition属性的数值为当前游标相对于第一条的位置,由1算起,即第一条的AbsolutePosition为1。
然而,不要误以为AbsolutePosition是资料记录的编号,如果当前RecordSet处于未定的状态,则
AsolutePosition的数值为�1。
另外,在存取RecordSet时,无法保证RecordSet每次都以同样的顺序出现。
若要启用AbsolutePosition,必须先设定为使用用户端cursor,asp码如下:
rs2.CursorLocation = 3
一、Move/AbsolutePosition的例子
让我们看一个於ASP程式码当中使用Move/AbsolutePosition做到上一条下一条记录功能的例子。
譬如ASP程式码rs14.asp如下:
<%
Set conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
Set rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECT * From 着作"
'Enable AbsolutePosition
rs2.CursorLocation = 3 'adUseClient
rs2.Open SqlStr,conn1,1,1
if Request("sel") = "prev" then
Session("position") = Session("position") - 1
rs2.Move Session("position")
elseif Request("sel") = "next" then
Session("position") = Session("position") + 1
rs2.Move Session("position")
else
Session("position") = 0
end if
%>
<%>
书名 | 出版 | 图片 | 简介 | AbsolutePosition |
<%=> | <%=> | <%=> | <%=> | <%= rs2.absoluteposition=""> |
<% if=""> 0 then %>
上一条
<% end="" if="">
<% if Session("position") < rs2.RecordCount -1 then %>
下一条
<% end="" if="">
<% rs2.close="">
以上的 ASP程式码rs14.asp,在用户端使用浏览器,浏览执行的结果,显示上一条下一条的功能。
由Session("position")储存这个使用者的RecordSet游标位置,当按下 [上一条] 超级连接时,由上一条,将sel设定为prev,并重新执行rs14.asp的asp码。由以下的程式部份,
将Session("position")减一:
if Request("sel") = "prev" then
Session("position") = Session("position") - 1
rs2.Move Session("position")
elseif Request("sel") = "next" then
Session("position") = Session("position") + 1
rs2.Move Session("position")
else
Session("position") = 0
end if
然后使用Move Session("position")方法,将移动游标到第Session("position")个记录,第一条记录的Session("position")值为0。
当按下 [下一条] 超级连接时,由下一条,将sel设定为next,并重新执行rs14.asp的asp码。由以上的程式部份,将Session("position")加一,然后使用Move Session("position")方法,将移动指标到第Session("position")个记录。
AbsolutePosition部份,首先由rs2.CursorLocation = 3设定为使用用户端cursor,以启用AbsolutePosition,即可由<%= rs2.absoluteposition="">显示AbsolutePosition的值。
为了判断是否要显示 [上一条] [下一条] 超级连接,由以下的程式部份:
<% if=""> 0 then %>
上一条
<% end="" if="">
<% if Session("position") < rs2.RecordCount -1 then %>
下一条
<% end="" if="">
就可以使用if Session("position") > 0、if Session("position") < rs2.RecordCount -1,比较当前的位置Session("position")和第一条0、第末条RecordCount -1的位置,来判断是否要显示 [上一条] [下一条] 的超级连接。
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3
最新文章
微信3.6.0测试版更新了微信支付漏洞会造成哪
360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗
人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本
查看所有0条评论>>