首页 理论教育 ASP动态网页设计:记录集的分页展示

ASP动态网页设计:记录集的分页展示

时间:2023-11-05 理论教育 版权反馈
【摘要】:一个数据表中的记录数据往往很多,如果都显示在一个页面中,这会给阅读和浏览造成一定的麻烦。可利用记录集对象提供的3个相关属性PageSize、PageCount、AbsolutePage,来分页显示表中的记录数据。分页显示student表中的记录,每页3条记录,并提供上一页、下一页、首页、尾页的导航链接,并提供一文本框,输入页号按回车键后显示指定页面。

ASP动态网页设计:记录集的分页展示

一个数据表中的记录数据往往很多,如果都显示在一个页面中,这会给阅读和浏览造成一定的麻烦。若能分页显示表中的记录数据,则是一个较好的解决办法。可利用记录集对象提供的3个相关属性PageSize、PageCount、AbsolutePage,来分页显示表中的记录数据。

【例7.6】分页显示student表中的记录,每页3条记录,并提供上一页、下一页、首页、尾页的导航链接,并提供一文本框,输入页号按回车键后显示指定页面。

文件命名为7-6.asp的代码如下:

〈%CPageName=Request.servervariables(″SCRIPTNAME″)%〉

〈HTML〉

〈HEAD〉

〈TITLE〉记录集的分页显示〈/TITLE〉

〈SCRIPT LANGUAGE=″VBScript″〉

Sub gopage ()

If Window.Event .keycode=13 Then ′若按回车键

pno=document .frm Page .pageno.value ′获得文本框中输入的页号

Window.Location.href=″〈%=CPageName%〉?pageno= ″ & pno

End If

End Sub

〈/SCRIPT〉

〈/HEAD〉

〈BODY bgcolor=″#FFFFFF″〉

〈DIV align=″center″〉〈h2〉记录集的分页显示〈/H2〉〈/DIV〉

〈%

Dim Conn,str Sgl,Rs

Set Conn=Server .CreateObject (″ADODB.Connection″)

Set Rs=Server .CreateObject (″ADODB.Record Set″)

Conn .ConnectionString=″DRIVER={Microsoft Access Driver (*.mdb)};DBQ=″&_

Server .MapPath (″school .mdb″)

Conn.open

strSql=″select*from student″

Rs .Open strSgl,Conn,1,1,&H0001

dim Cpage_no ′当前页号

Rs .PageSize=3 ′设置每页显示的记录数

If Request .Querystring (″pageno″)=″″Then ′查询所要显示的页号

Cpage_no=l ′若未指定, 则显示第 1 页

Else

Cpage_no=Cint (Request .Querystring (″pageno″)) ′设置所要显示的页号

End If

Rs .AbsolutePage=Cpage_no

′下面构造导航栏的内容

%〉

〈DIV align=″center″〉

〈TABLE border=0 width=″l00%″〉

〈TR align=″center″〉

〈TD〉第〈%=Cpage_no%〉/〈%=Rs.PageCount%〉页〈/TD〉

〈TD〉共〈%=Rs.RecordCount%〉条记录〈/TD〉

〈%If Cpage_no〉1 Then ′若当前页号大于1,则上一页有效 %〉

〈TD〉〈A href=″〈%=CPageName%〉?pageno=〈%=Cpage_no-1%〉″〉上一页〈/A〉〈/TD〉

〈%Else %〉

〈TD〉上一页〈/TD〉

〈%End if %〉

〈%If Cpage_no〈Rs.PageCount Then %〉

〈TD〉〈A href=″〈%=CPageName%〉?pageno=〈%=Cpage_no+1%〉″〉下一页〈/A〉〈/TD〉

〈%Else %〉

〈TD〉下一页〈/TD〉

〈%End If %〉

〈%If Cpage_no〉l Then %〉

〈TD〉〈A href=″〈%=CPageName%〉?pageno=l″〉首页〈/A〉〈/TD〉

〈%Else %〉

〈TD〉首页〈/TD〉(www.xing528.com)

〈%End If %〉

〈%If Cpage_no〈Rs.PageCount Then %〉

〈TD〉〈A href=″〈%=CPageName%〉?pageno=〈%=Rs.PageCount%〉″〉尾页〈/A〉〈/TD〉

〈%Else %〉

〈TD〉尾页〈/TD〉

〈%End If %〉

〈TD〉〈FORM Name=″frmPage″〉

第〈INPUT type=″text″Name=″pageno″onKeyPress=″gopage()″size=4〉页

〈/FORM〉

〈/TD〉

〈/TABLE〉

〈/DIV〉

〈BR〉

〈TABLE border=l align=center width=″100%″〉

〈TR bgcolor=#E0E0E0align=center〉

〈%

For i=0To rs.Fields.count-1 ′输出表头字段名

Response.write ″〈td〉″+Rs.Fields(i).Name+″〈/TD〉″

Next

%〉

〈/TR〉

〈%

Line No=1

Do While NOT Rs.EOF AND LineNo〈=Rs.PageSize 输出当前页的内容

Response.write ″〈TR〉″

For i=0To Rs.Fields.count-1

fdvalue=Rs(i)

If isnull(fdvalue)Then

Response.write ″〈TD〉 〈/TD〉″

Else

If RS(i).Name=″email″Then

If instr(Rs(i),″@″)〈〉0Then ′若为Email地址

Response.write ″〈td〉〈A href=mailto:″&trim(Rs(i))&″〉″&trim(Rs(i))&″〈/A〉〈/td〉″

Else

Response.write ″〈TD〉″&Rs(i)&″〈/TD〉″

End If

Else

Response.write ″〈TD〉″&Rs(i)&″〈/TD〉″

End If

End If

Next

Rs.MoveNext

Response .write ″〈/TR〉″

LineNo=LineNo+1

Loop

RS .close

set Rs=Nothing

Conn.close

Set Conn=Nothing

%〉

〈/TABLE〉

〈/BODY〉

〈/HTML〉

程序运行结果如图7- 14所示 。

图7-14 例7.6运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈