二、用Bookmark(书签)
Bookmark(书签)对RecordSet的一条记录做一个记号。
使用时先移动到那条资料,然后给予Bookmark属性一个名称,即书签记号的名称,当要回到该条记录时,将Bookmark 属性设为所设定书签记号的名称即可。
Bookmark例子
如何使用Bookmark(书签)呢?让我们看一个於ASP程式码当中使用Bookmark的例子。
譬如ASP程式码rs13.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 着作"
rs2.Open SqlStr,conn1,1,1
rs2.MoveNext
if Request("sel") = "last" then
rs2.MoveLast
elseif Request("sel") = "first" then
rs2.MoveFirst
elseif 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")
elseif Request("sel") = "set" then
rs2.Move Session("position")
Session("bk") = rs2.Bookmark
elseif Request("sel") = "go" then
rs2.Bookmark = Session("bk")
else
Session("position") = 0
end if
%>
<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>
<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>
</TR>
</TABLE>
<A href=rs13.asp?sel=first>第一条</A>
<% if Session("position") > 0 then %>
<A href=rs13.asp?sel=prev>上一条</A>
<% end if %>
<% if Session("position") < rs2.RecordCount -1 then %>
<A href=rs13.asp?sel=next>下一条</A>
<% end if %>
<A href=rs13.asp?sel=last>最末条</A>
<A href=rs13.asp?sel=set>设定Bookmark</A>
<A href=rs13.asp?sel=go>到Bookmark</A>
<% rs2.Close %>
由Session("bk")储存这个使用者RecordSet 的bookmark(书签)位置,当按下 [设定Bookmark] 超级连接时,由<A href=rs13.asp?sel=set>设定Bookmark</A>,将sel设定为set,并重新执行rs13.asp的asp码。由以下的程式部份,首先rs2.Move Session("position")回到上次的位置,然后使用Session("bk") = rs2.Bookmark设定书签,Session("Bookmark")储存书签记号的名称:
if Request("sel") = "last" then
rs2.MoveLast
elseif Request("sel") = "first" then
rs2.MoveFirst
elseif 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")
elseif Request("sel") = "set" then
rs2.Move Session("position")
Session("bk") = rs2.Bookmark
elseif Request("sel") = "go" then
rs2.Bookmark = Session("bk")
else
Session("position") = 0
end if
当按下 [到Bookmark] 超级连接时,由<A href=rs13.asp?sel=go>到Bookmark</A>,将sel设定为go,并重新执行rs13.asp的asp码。由以上的程式部份,由rs2.Bookmark = Session("bk")回到上次书签记号的位置。