對(duì)數(shù)據(jù)庫(kù)中的記錄用上一條下一條顯示(3)

2022-06-12發(fā)布者:ylm大小: 下載:0

文件大小:

軟件介紹

三、Bookmark/MoveNext/MovePRevious例子

讓我們看一個(gè)asp程式碼當(dāng)中使用Bookmark/MoveNext/MovePrevious做到上一條下一條功能的例子。

譬如ASP程式碼rs15.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

BkStart = rs2.Bookmark

BkEnd = rs2.Bookmark + rs2.RecordCount - 1

rs2.MoveNext

if Request("sel") = "prev" then

rs2.Bookmark = session("Bookmark")

rs2.MovePrevious

elseif Request("sel") = "next" then

rs2.Bookmark = Session("Bookmark")

rs2.MoveNext

end if

Session("Bookmark") = rs2.Bookmark

%>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>

<TR>

<TD ALIGN=CENTER BGCOLOR="#008080"><FONT COLOR="#FFFFFF">書(shū)名</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">簡(jiǎn)介</FONT></TD>

<TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("書(shū)名")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("出版")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("圖片")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("簡(jiǎn)介")%></TD>

</TR>

</TABLE>

<% = Session("Bookmark") %>

<% if Session("Bookmark") > BkStart then %>

<A href=rs15.asp?sel=prev>上一條</A>

<% end if %>

<% if Session("Bookmark") < BkEnd then %>

<A href=rs15.asp?sel=next>下一條</A>

<% end if %>

<% rs2.Close %>

以上的 ASP程式碼rs15.asp,在用戶(hù)端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,顯示上一條下一條的功能。

由Session("Bookmark")儲(chǔ)存這個(gè)使用者RecordSet 的bookmark(書(shū)簽)位置,當(dāng)按下 [上一條] 超級(jí)連接時(shí),由<A href=rs15.asp?sel=prev>上一條</A>,將sel設(shè)定為prev,并重新執(zhí)行rs15.asp的asp碼。由以下的程式部份,首先將Bookmark 屬性設(shè)為所設(shè)定書(shū)簽記號(hào)的名稱(chēng)Session("Bookmark")回到上次書(shū)簽的位置,然后使用MovePrevious移動(dòng)到上一條的位置:

if Request("sel") = "prev" then

rs2.Bookmark = Session("Bookmark")

rs2.MovePrevious

elseif Request("sel") = "next" then

rs2.Bookmark = Session("Bookmark")

rs2.MoveNext

end if

Session("Bookmark") = rs2.Bookmark

然后使用Session("Bookmark") = rs2.Bookmark設(shè)定書(shū)簽,Session("Bookmark")儲(chǔ)存書(shū)簽記號(hào)的名稱(chēng)。

當(dāng)按下 [下一條] 超級(jí)連接時(shí),由<A href=rs15.asp?sel=next>下一條</A>,將sel設(shè)定為next,并重新執(zhí)行rs15.asp的asp碼。由以上的程式部份,回到上次書(shū)簽的位置,然后使用MoveNext移動(dòng)到下一條的位置。

由<% = Session("Bookmark") %>顯示書(shū)簽的位置,請(qǐng)注意第一條記錄的位置并非為0而是1792,因此我們必須取得第一條和第末條的書(shū)簽位置值,以判斷是否要顯示 [上一條] [下一條] 超級(jí)連接。

為了判斷是否要顯示 [上一條] [下一條] 超級(jí)連接,由以下的程式部份,我們?cè)O(shè)定了兩個(gè)書(shū)簽,由BkStart = rs2.Bookmark設(shè)定第一條的位置,由BkEnd = rs2.Bookmark + rs2.RecordCount - 1設(shè)定第末條的位置:

<%

SqlStr = "SELECT * From 著作"

rs2.Open SqlStr,conn1,1,1

BkStart = rs2.Bookmark

BkEnd = rs2.Bookmark + rs2.RecordCount - 1

if Session("Bookmark") > BkStart then %>

<A href=rs15.asp?sel=prev>上一條</A>

<% end if %>

<% if Session("Bookmark") < BkEnd then %>

<A href=rs15.asp?sel=next>下一條</A>

<% end if %>

    就可以使用if Session("Bookmark") > BkStart、if Session("Bookmark") < BkEnd,比較當(dāng)前的位置Session("Bookmark")和第一條BkStart、第末條BkEnd的位置,來(lái)判斷是否要顯示 [上一條] [下一條] 的超連結(jié)。  

發(fā)表評(píng)論(共0條評(píng)論)
請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī),評(píng)論內(nèi)容只代表網(wǎng)友觀(guān)點(diǎn),發(fā)表審核后顯示!

版權(quán)聲明:

1 本站所有資源(含游戲)均是軟件作者、開(kāi)發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!

2 本站將不對(duì)任何資源負(fù)法律責(zé)任,所有資源請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除。

3 若有關(guān)在線(xiàn)投稿、無(wú)法下載等問(wèn)題,請(qǐng)與本站客服人員聯(lián)系。

4 如侵犯了您的版權(quán)、商標(biāo)等,請(qǐng)立刻聯(lián)系我們并具體說(shuō)明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784

返回頂部