服务咨询热线:0574-88171828 15867435963
专业网站制作客服QQ[853624982]  日本の顧客訪問 [日本語]  
首 页 网站制作 网站推广 域名服务 虚拟主机 VPS主机 企业邮箱 软件开发 经典案例

建站知识

联系我们

网站首页 >> 建站知识

ASP利用Recordset对象的属性和方法实现分页

来源:本站
时间:2009-6-18 16:16:49


ASP中关于分页显示的基本方法 在了解了Recordset对象的属性和方法后,我们来考虑一下,如何运用它们来达到我们分页显示的目的。首先,我们可以为PageSize属性设置一个值,从而指定从记录组中取出的构成一个页的行数;然后通过RecordCount属性来确定记录的总数;再用记录总数除以PageSize就可得到所显示的页面总数;最后通过AbsolutePage属性就能完成对指定页的访问。好象很并不复杂呀,下面让我们来看看程序该如何实现呢?

  我们建立这样一个简单的BBS应用程序,它的数据库中分别有以下五个字段:“ID”,每个帖子的自动编号;“subject”,每个帖子的主题;“name”,加帖用户的姓名;“email”,用户的电子邮件地址;“postdate”,加帖的时间。数据库的DSN为“bbs”。我们将显示帖子分页的所有步骤放在一个名为“ShowList()”的过程中,方便调用。程序如下:

’----BBS显示分页----
< Sub ShowList() >
<
PgSz=20 ’设定开关,指定每一页所显示的帖子数目,默认为20帖一页
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT * FROM message order by ID DESC"
’查询所有帖子,并按帖子的ID倒序排列
Conn.Open "bbs"
RS.open sql,Conn,1,1
If RS.RecordCount=0 then
response.write "< P>< center>对不起,数据库中没有相关信息!< /center>< /P>"
else
RS.PageSize = Cint(PgSz) ’设定PageSize属性的值
Total=INT(RS.recordcount / PgSz * -1)*-1 ’计算可显示页面的总数
PageNo=Request("pageno")
if PageNo="" Then
PageNo = 1
else
PageNo=PageNo+1
PageNo=PageNo-1
end if
ScrollAction = Request("ScrollAction")
if ScrollAction = " 上一页 " Then
PageNo=PageNo-1
end if
if ScrollAction = " 下一页 " Then
PageNo=PageNo+1
end if
if PageNo < 1 Then
PageNo = 1
end if
n=1
RS.AbsolutePage = PageNo
Response.Write "< CENTER>"
position=RS.PageSize*PageNo
pagebegin=position-RS.PageSize+1
if position < RS.RecordCount then
pagend=position
else
pagend= RS.RecordCount
end if
Response.Write "< P>< font color=’Navy’>< B>数 据 库 查 询 结 果:< /B>"
Response.Write "(共有"&RS.RecordCount &"条符合条件的信息,显示"&pagebegin&"-"&pagend&")< /font>< /p>"
Response.Write "< TABLE WIDTH=600 BORDER=1 CELLPADDING=4 CELLSPACING=0 BGCOLOR=#FFFFFF>"
Response.Write "< TR BGCOLOR=#5FB5E2 >< FONT SIZE=2 >< TD >< B >主 题< /B >< /TD >< TD >< B >用 户< /B >< /TD >< TD >< B >Email< /B >< /TD >< TD >< B >发 布 日 期< /B >< /TD >< /FONT >< TR BGCOLOR=#FFFFFF >"
Do while not (RS is nothing)
RowCount = RS.PageSize
Do While Not RS.EOF and rowcount > 0
If n=1 then
Response.Write "< TR BGCOLOR=#FFFFFF>"
ELSE
Response.Write "< TR BGCOLOR=#EEEEEE>"
End If
n=1-n >
< TD>< span style="font-size:9pt">< A href=’view.asp?key=< =RS("ID")>’>< =RS("subject")>< /A>< /span>< /td>
< TD>< span style="font-size:9pt">< =RS("name")>< /A>< /span>< /td>
< TD>< span style="font-size:9pt">< a href="mailt< =RS("email")>">< =RS("email")>< /a>< /span> < /TD>
< TD>< span style="font-size:9pt">< =RS("postdate")>< /span> < /td>
< /TR>
<
RowCount = RowCount - 1
RS.MoveNext
Loop
set RS = RS.NextRecordSet
Loop
Conn.Close
set rs = nothing
set Conn = nothing
%>
< /TABLE >
< FORM METHOD=GET ACTION="list.asp" >
< INPUT TYPE="HIDDEN" NAME="pageno" VALUE="< =PageNo >" >
<
if PageNo > 1 Then
response.write "< INPUT TYPE=SUBMIT NAME=’ScrollAction’ VALUE=’ 上一页 ’>"
end if
if RowCount = 0 and PageNo < >Total then
response.write "< INPUT TYPE=SUBMIT NAME=’ScrollAction’ VALUE=’ 下一页 ’>"
end if
response.write "< /FORM>"
End if
>
<% End Sub %>




宁波263企业邮箱
宁波网站建设
:: 在线客服 ::
客服电话
86-0574-88171828
86-015867435963
E-mail:sales@weiwe.cn
在线MSN
在线QQ
宁波网站成功案例
宁波建站知识
网站建设1000元起
.com域名50元,cn第一年50元
购虚拟主机2元/M,赠企业邮局
免费咨询网站问题
网站全球GOOGLE,百度推广
企业网站百度免费推广
宁波外贸网站建设
速代办宁波企业网站备案
本站关键字:宁波网站制作 | 宁波GOOGLE推广 | 宁波做网站 | 宁波网络公司 | 网页制作公司 | 宁波网站推广 | 网页制作 | 宁波软件开发 | 宁波域名注册
首 页 :: 关于我们 :: 联系我们 :: 付款方式 :: 建站知识 :: 新闻动态 :: 友情链接 :: 合作伙伴 :: 网站地图
COPYRIGHT ? 2003-2009 ALL RIGHT RESERVED,WEIWE.CN
威维网络 版权所有   浙ICP备09045242号