您的位置:首页 > 编程语言 > ASP

ASP加ACCESS数据的基本知识

2011-10-27 14:04 176 查看
 ASP项目中的公共翻页模块                     返回
       

在大型的ASP项目中,很多的页面都涉及到翻页功能。如果每个页面都写一个翻页的程序的话,这样的工作即降低了工作效率,也不利于工程的模块化,不能使代码重用。因此,把翻页这样的功能模块化是很有必要的。

设计方法:

1、调用该模块时,只需要传递记录集和每页显示的记录的条数;

2、可以点击链接进行翻页,也可以直接输入页码,回车后翻页;

3、不要考虑文件名,程序的每次翻页都能在当前页面。

想清楚了上面3个问题,我们的公共翻页模块就可以动手了。

<%

'+++++++++++++++++++++++++++++++++++++

'◆模块名称: 公共翻页模块

'◆文 件 名: TurnPage.asp

'◆传入参数: Rs_tmp (记录集), PageSize (每页显示的记录条数)

'◆输 出: 记录集翻页显示功能

'+++++++++++++++++++++++++++++++++++++

'

Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 PageSize 每页显示的记录条数;

Dim TotalPage '总页数

Dim PageNo '当前显示的是第几页

Dim RecordCount '总记录条数

Rs_tmp.PageSize = PageSize

RecordCount = Rs_tmp.RecordCount

TotalPage = INT(RecordCount / PageSize * -1)*-1

PageNo = Request.QueryString ("PageNo")

'直接输入页数跳转;

If Request.Form("PageNo")<>"" Then PageNo = Request.Form("PageNo")

'如果没有选择第几页,则默认显示第一页;

If PageNo = "" then PageNo = 1

If RecordCount <> 0 then

Rs_tmp.AbsolutePage = PageNo

End If

'获取当前文件名,使得每次翻页都在当前页面进行;

Dim fileName,postion

fileName = Request.ServerVariables("script_name")

postion = InstrRev(fileName,"/")+1

'取得当前的文件名称,使翻页的链接指向当前文件;

fileName = Mid(fileName,postion)

%>

<table border=0 width='100%'>

<tr>

<td align=left> 总页数:<font color=#ff3333><%=TotalPage%></font>页

当前第<font color=#ff3333><%=PageNo%></font>页</td>

<td align="right">

<%If RecordCount = 0 or TotalPage = 1 Then

Response.Write "首页|前页|后页|末页"

Else%>

<a href="<%=fileName%>?PageNo=1">首页|</a>

<%If PageNo - 1 = 0 Then

Response.Write "前页|"

Else%>

<a href="<%=fileName%>?PageNo=<%=PageNo-1%>">前页|</a>

<%End If

If PageNo+1 > TotalPage Then

Response.Write "后页|"

Else%>

<a href="<%=fileName%>?PageNo=<%=PageNo+1%>">后页|</a>

<%End If%>

<a href="<%=fileName%>?PageNo=<%=TotalPage%>">末页</a>

<%End If%></td>

<td width=95>转到第

<%If TotalPage = 1 Then%>

<input type=text name=PageNo size=3 readonly disabled style="background:#d3d3d3">

<%Else%>

<input type=text name=PageNo size=3 value="" title=请输入页号,然后回车>

<%End If%>页

</td>

</tr>

</table>

<%End Sub%>

当然,大家可以把翻页的链接做成图片按钮,这样的话也面就更加美观了。

调用方法:

1、在程序开始或要使用翻页的地方包含翻页模块文件;

2、定义变量:RowCount,每页显示的记录条数

3、调用翻页过程:Call TurnPage(记录集,RowCount)

4、在Do While 循环输出记录集的条件中加上" RowCount > 0 " 条件

5、在循环结束 "Loop前" 加上: RowCount = RowCount - 1

'-----------------------------------------------------

调用范例:

文件名:News.asp

<%

Dim Conn,Rs_News

Set Conn = server.CreateObject("ADODB.CONNECTION")

Conn.Open "cpm","cpm","cpm"

Dim Sql

Sql = "Select * from News"

Set Rs_News = Server.CreateObject("ADODB.RECORDSET")

Rs_News.Open Sql,Conn,1,3 '获取的记录集

'公共翻页模块开始%>

<!--#include file=../Public/TurnPage.asp-->

<%

Dim RowCount

RowCount = 10 '每页显示的记录条数

Call TurnPage(Rs_News,RowCount)

'公共翻页模块结束%>

<table width=100%>

<tr>

<td>新闻编号</td>

<td>新闻标题</td>

<td>发布日期</td>

<tr>

<%

If Not Rs_News.eof

Do while Not Rs_News.eof and RowCount>0

%>

<tr>

<td><%=Rs_News("ID")%></td>

<td><%=Rs_News("Name")%></td>

<td><%=Rs_News("Date")%></td>

<tr>

<%

RowCount = RowCount - 1

Rs_News.MoveNext

Loop

End If

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp access input sql table border