【 tulaoshi.com - ASP 】
若要让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
%
<% = Session("position") %
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0
<TR
<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"书名</FONT</TD
<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"出版</FONT</TD
<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"图片</FONT</TD
<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"简介</FONT</TD
<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"AbsolutePosition</FONT</TD
<TR
<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2("书名") %</TD
<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2("出版") %</TD
<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2("图片") %</TD
<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2("简介") %</TD
<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2.AbsolutePosition %</TD
</TR
</TABLE
<% if Session("position") 0 then %
<A href=rs14.asp?sel=prev上一条</A
<% end if %
<% if Session("position") <