|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。在懂得了Recordset工具的以上属性和办法后,我们来思索一下,怎样使用它们来到达我们分页显现的目标。起首,我们能够为PageSize属性设置一个值,从而指定从纪录组中掏出的组成一个页的行数;然后经由过程RecordCount属性来断定纪录的总数;再用纪录总数除以PageSize便可失掉所显现的页面总数;最初经由过程AbsolutePage属性就可以完成对指定页的会见。好象很其实不庞大呀,上面让我们来看看程序该怎样完成呢?
子的主动编号;“s我们创建如许一个复杂的BBS使用程序,它的数据库平分别有以下五个字段:“ID”,每一个帖ubject”,每一个帖子的主题;“name”,加帖用户的姓名;“email”,用户的电子邮件地点;“postdate”,加帖的工夫。数据库的DSN为“bbs”。我们将显现帖子分页的一切步骤放在一个名为“ShowList()”的过程当中,便利挪用。程序以下:
----BBS显现帖子分页----
<%SubShowList()%>
<%
PgSz=20设定开关,指定每页所显现的帖子数量,默许为20帖一页
SetConn=Server.CreateObject("ADODB.Connection")
SetRS=Server.CreateObject("ADODB.RecordSet")
sql="SELECT*FROMmessageorderbyIDDESC"
查询一切帖子,并按帖子的ID倒序分列
Conn.Open"bbs"
RS.opensql,Conn,1,1
IfRS.RecordCount=0then
response.write"<P><center>对不起,数据库中没有相干信息!</center></P>"
else
RS.PageSize=Cint(PgSz)设定PageSize属性的值
Total=INT(RS.recordcount/PgSz*-1)*-1盘算可显现页面的总数
PageNo=Request("pageno")
ifPageNo=""Then
PageNo=1
else
PageNo=PageNo+1
PageNo=PageNo-1
endif
ScrollAction=Request("ScrollAction")
ifScrollAction="上一页"Then
PageNo=PageNo-1
endif
ifScrollAction="下一页"Then
PageNo=PageNo+1
endif
ifPageNo<1Then
PageNo=1
endif
n=1
RS.AbsolutePage=PageNo
Response.Write"<CENTER>"
position=RS.PageSize*PageNo
pagebegin=position-RS.PageSize+1
ifposition<RS.RecordCountthen
pagend=position
else
pagend=RS.RecordCount
endif
Response.Write"<P><fontcolor=Navy><B>数据库查询结果:</B>"
Response.Write"(共有"&RS.RecordCount&"条切合前提的信息,显现"&pagebegin&"-"&pagend&")</font></p>"
Response.Write"<TABLEWIDTH=600BORDER=1CELLPADDING=4CELLSPACING=0BGCOLOR=#FFFFFF>"
Response.Write"<TRBGCOLOR=#5FB5E2><FONTSIZE=2><TD><B>主题</B></TD><TD><B>用户</B></TD><TD><B>Email</B></TD><TD><B>发布日期</B></TD></FONT><TRBGCOLOR=#FFFFFF>"
Dowhilenot(RSisnothing)
RowCount=RS.PageSize
DoWhileNotRS.EOFandrowcount>0
Ifn=1then
Response.Write"<TRBGCOLOR=#FFFFFF>"
ELSE
Response.Write"<TRBGCOLOR=#EEEEEE>"
EndIf
n=1-n%>
<TD><spanstyle="font-size:9pt"><Ahref=view.asp?key=<%=RS("ID")%>><%=RS("subject")%></A></span></td>
<TD><spanstyle="font-size:9pt"><%=RS("name")%></A></span></td>
<TD><spanstyle="font-size:9pt"><ahref="mailto:<%=RS("email")%>"><%=RS("email")%></a></span></TD>
<TD><spanstyle="font-size:9pt"><%=RS("postdate")%></span></td>
</TR>
<%
RowCount=RowCount-1
RS.MoveNext
Loop
setRS=RS.NextRecordSet
Loop
Conn.Close
setrs=nothing
setConn=nothing
%>
</TABLE>
<FORMMETHOD=GETACTION="list.asp">
<INPUTTYPE="HIDDEN"NAME="pageno"VALUE="<%=PageNo%>">
<%
ifPageNo>1Then
response.write"<INPUTTYPE=SUBMITNAME=ScrollActionVALUE=上一页>"
endif
ifRowCount=0andPageNoTotalthen
response.write"<INPUTTYPE=SUBMITNAME=ScrollActionVALUE=下一页>"
endif
response.write"</FORM>"
Endif
%>
<%EndSub%>
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。 |
|