仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 374|回复: 7
打印 上一主题 下一主题

[学习教程] ASP编程:ASP中关于帖子分页显现的基础办法

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-16 22:43:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般ASP中关于帖子分页显现的基础办法
  在懂得了Recordset工具的以上属性和办法后,我们来思索一下,怎样使用它们来到达我们分页显现的目标。起首,我们能够为PageSize属性设置一个值,从而指定从纪录组中掏出的组成一个页的行数;然后经由过程RecordCount属性来断定纪录的总数;再用纪录总数除以PageSize便可失掉所显现的页面总数;最初经由过程AbsolutePage属性就可以完成对指定页的会见。好象很其实不庞大呀,上面让我们来看看程序该怎样完成呢?
  我们创建如许一个复杂的BBS使用程序,它的数据库平分别有以下五个字段:“ID”,每一个帖子的主动编号;“subject”,每一个帖子的主题;“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=’ScrollAction’VALUE=’上一页’>"
endif
ifRowCount=0andPageNoTotalthen
response.write"<INPUTTYPE=SUBMITNAME=’ScrollAction’VALUE=’下一页’>"
endif
response.write"</FORM>"
Endif
>
<EndSub%>
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;
飘灵儿 该用户已被删除
7#
发表于 2015-3-23 11:58:31 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-3-17 01:08:59 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
不帅 该用户已被删除
5#
发表于 2015-3-9 20:47:53 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
老尸 该用户已被删除
地板
发表于 2015-2-28 04:14:38 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
莫相离 该用户已被删除
板凳
发表于 2015-2-9 23:03:16 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
只想知道 该用户已被删除
沙发
发表于 2015-1-25 23:16:40 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
透明 该用户已被删除
楼主
发表于 2015-1-19 21:38:48 | 只看该作者
掌握asp的特性而且一定要知道为什么。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 02:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表