蒙在股里 发表于 2015-1-16 23:44:33

ASP教程之使用ASP完成对表的分页扫瞄(上)

对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。分页|分页人人都晓得,ASP有着壮大的数据库操纵才能,这与她能便利的挪用ActiveX工具是密不成分的。上面我给人人先容一种ASP使用ADO工具完成对数据库纪录分页显现的办法。以下代码均在WIN98+PWS+MSACCESS情况下经由过程。
  在这里我次要经由过程ADO工具会合的Recordset工具来完成各类数据库操纵的。先先容几个用于分页显现的Recordset属性。
    PageSize:每页显现的纪录数。
    PageCount:依据用户设好的PageSize和表中的总纪录数,体系主动算出总页数。
    RecordCount:表中的总纪录数。
    AbsolutePage:暗示以后页码。如将AbsolutePage属性设为3,则以后纪录移至第3页第1条(也就是第31条)。
  看到Recordset有了这几个属性后,信任人人也都以为做一个分页显现的程序是很复杂的。上面讲一下思绪,一切完成这一功效的代码都放在display.asp中,按实行的按次分离是:翻开数据库及表、读取用户请求的显现体例、设定好PageSize和AbsolutePage、将内容输入到扫瞄器、设定好导航条。以下是代码:

<%---------------------------翻开数据库及表
setconn=server.createobject("ADODB.Connection")
filepath=server.mappath("abc.mdb")-------假定数据库文件是"abc.mdb"
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&filepath
setrs=server.createobject("ADODB.Recordset")
rs.open"main",conn,3,2-------假定表的名字是"main"
%>
<%---------------------------读取用户请求的显现体例(经由过程参数传送)
line=cint(request("line"))
page=cint(request("page"))
%>
<%---------------------------按用户请求设定好显现体例
rs.PageSize=line
rs.AbsolutePage=page
%>
<%---------------------------显现内容%>
<tablewidth="100%"border="1">
<tr>
<%fori=0tors.Fields.Count-1%>
<td><%=rs.Fields(i).name%></td>
<%next%>
</tr><%-------以上部分显现表头,即字段名%>
<%fori=1tors.PageSize%>
<tr>
<%forj=0tors.Fields.Count-1%>
<td><%=rs.Fields(j).value%></td>
<%next%>
</tr>
<%rs.movenext%>
<%ifrs.eofthenexitfor%>
<%next%><%-------以上部分显现表的内容%>
</table>
<%---------------------------导航条%>
<tablewidth=100%><tr>
<td>
<%ifpage<>1then%>
<ahref=display.asp?page=1&line=<%=line%>>第一页</a>
<%else%>第一页<%endif%>
</td>
<td>
<%ifpage>1then%>
<ahref=display.asp?page=<%=page-1%>&line=<%=line%>>前一页</a>
<%else%>前一页<%endif%>
</td>
<td>
<%ifpage<rs.PageCountthen%>
<ahref=display.asp?page=<%=page+1%>&line=<%=line%>>下一页
<%else%>下一页<%endif%>
</td>
<td>
<%ifpage<>rs.PageCountthen%>
<ahref=display.asp?page=<%=rs.PageCount%>&line=<%=line%>>最初一页</a>
<%else%>最初一页<%endif%>
</td><%-------以上四项都必要举行判别:假如在第一页就不供应“第一页”和“前一页”的链接
-------假如在最初一页就不供应“最初一页”和“后一页”的链接%>
<td>
<formmethod="POST"action="display.asp?line=<%=line%>">
请输出页码:<inputtype="text"name="page"size="3"value="<%=page%>">
</form>
</td>
<td>
<formmethod="POST"action="display.asp?page=<%=page%>">
请设定每页<inputtype="text"name="line"size="3"value="<%=line%>">行
</form>
</td><%-------由于两个表单都只要一个表单域,以是没有供应发送按钮,间接打回车就好了%>
<td>
第<%=page%>页/总<%=rs.PageCount%>页
</td>
</tr></table>
  这只是一个最基础的程序,没有举行优化处置,也另有一些bug,上面我们一同来使它更“完善”一些。
</p>国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了

山那边是海 发表于 2015-1-20 11:32:25

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

精灵巫婆 发表于 2015-2-5 23:11:51

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

老尸 发表于 2015-2-14 03:50:53

交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。

金色的骷髅 发表于 2015-3-4 04:27:43

先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习

海妖 发表于 2015-3-11 16:35:17

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

小妖女 发表于 2015-3-19 01:29:50

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

只想知道 发表于 2015-3-26 23:58:45

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
页: [1]
查看完整版本: ASP教程之使用ASP完成对表的分页扫瞄(上)