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

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

文件大小:

軟件介紹

若要讓RecordSet移動(dòng)到上一條下一條的位置,讓我們先學(xué)會以下RecordSet對象的屬性和方法:

BOF屬性:當(dāng)前游標(biāo)指到RecordSet的第一條記錄。
EOF屬性:當(dāng)前游標(biāo)指到RecordSet的最后一條記錄。
Move方法:移動(dòng)游標(biāo)到RecordSet中的某一個(gè)記錄。
AbsolutePosition屬性:當(dāng)前游標(biāo)在RecordSet中的位置。
bookmark(書簽)屬性:對RecordSet的一條記錄做一個(gè)記號。

詳細(xì)介紹如下:

BOF與EOF屬性

可以編寫程式碼來檢查BOF與EOF屬性,來得知當(dāng)前游標(biāo)RecordSet的位置:

BOF與EOF都為False:表示游標(biāo)位于RecordSet當(dāng)中。
BOF為True:當(dāng)前游標(biāo)指到RecordSet的第一條記錄。
EOF為True:當(dāng)前游標(biāo)指到RecordSet的最后一條記錄。
BOF與EOF都為True:在RecordSet里沒有任何的資料記錄。
Move方法

您可以用Move方法移動(dòng)游標(biāo)到RecordSet中的某一條記錄:

MoveFirst方法:移至第一條記錄。
MoveLast方法:移至最后一條記錄。
MoveNext方法:移至下一條記錄。
MovePRevious方法:移至上一條記錄。
Move [n]方法:移動(dòng)游標(biāo)到第n條記錄,n由0算起。
AbsolutePosition屬性

若您需要確定當(dāng)前游標(biāo)在RecordSet中的位置,您可以用AbsolutePosition屬性。

AbsolutePosition屬性的數(shù)值為當(dāng)前游標(biāo)相對于第一條的位置,由1算起,即第一條的AbsolutePosition為1。

然而,不要誤以為AbsolutePosition是資料記錄的編號,如果當(dāng)前RecordSet處于未定的狀態(tài),則

AsolutePosition的數(shù)值為�1。

另外,在存取RecordSet時(shí),無法保證RecordSet每次都以同樣的順序出現(xiàn)。

若要啟用AbsolutePosition,必須先設(shè)定為使用用戶端cursor,asp碼如下:

rs2.CursorLocation = 3


一、Move/AbsolutePosition的例子

讓我們看一個(gè)於ASP程式碼當(dāng)中使用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") < rs2.RecordCount -1 then %>

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

<% end if %>

<% rs2.Close %>

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

    由Session("position")儲存這個(gè)使用者的RecordSet游標(biāo)位置,當(dāng)按下 [上一條] 超級連接時(shí),由<A href=rs14.asp?sel=prev>上一條</A>,將sel設(shè)定為prev,并重新執(zhí)行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")方法,將移動(dòng)游標(biāo)到第Session("position")個(gè)記錄,第一條記錄的Session("position")值為0。

當(dāng)按下 [下一條] 超級連接時(shí),由<A href=rs14.asp?sel=next>下一條</A>,將sel設(shè)定為next,并重新執(zhí)行rs14.asp的asp碼。由以上的程式部份,將Session("position")加一,然后使用Move Session("position")方法,將移動(dòng)指標(biāo)到第Session("position")個(gè)記錄。

AbsolutePosition部份,首先由rs2.CursorLocation = 3設(shè)定為使用用戶端cursor,以啟用AbsolutePosition,即可由<%= rs2.AbsolutePosition %>顯示AbsolutePosition的值。

為了判斷是否要顯示 [上一條] [下一條] 超級連接,由以下的程式部份:

<% if Session("position") > 0 then %>

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

<% end if %>

<% if Session("position") < rs2.RecordCount -1 then %>

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

<% end if %>

就可以使用if Session("position") > 0、if Session("position") < rs2.RecordCount -1,比較當(dāng)前的位置Session("position")和第一條0、第末條RecordCount -1的位置,來判斷是否要顯示 [上一條] [下一條] 的超級連接。 

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

版權(quán)聲明:

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

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

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

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

返回頂部