日期:2013-07-31  浏览次数:21015 次

第一次写这种贴子 :)
个人认为功能不错,完全自创,绝无抄袭,若有雷同,纯属巧合!
说明:
.pagesize '定义每页显示记录数
.recordcount '记录总数
.pagecount '总页数
.absolutepage '当前页码(页面)
index.asp 未加入任何版面设计,故有点乱。功能俺也没测试,理论上是可以实现的(除俺敲错键)。……
index.asp示例程序如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
option explicit '强制要求定义变量
'on error resume next

dim page '定义页码变量
page=Request.QueryString("page") '获取地址栏页码
if IsNumeric(page) then '页码为整数
page=cint(page)
if page<1 then page=1
else
page=1
end if

dim strSql '定义sql语句
'mtest 表名
'file1字段(这里例出一个字段,实际中一般是多个字段)
strSql="select file1 from mtest"

dim objConn,strConn,objRs
set objConn=server.CreateObject("ADODB.connection")
strConn="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("db.mdb")
objConn.Open strConn
set objRs=server.CreateObject("ADODB.recordset")
objRs.open strSql, objConn, 1,1

if objRs.eof or objRs.bof then '表内的记录情况
'以下一段为及时关闭、释放资源
objRs.close
set objRs=nothing
objConn.close
set objConn=nothing
response.write "未有数据"
else
objRs.pagesize=20 '一页显示的记录数
dim intReCun,intPaCun
intReCun=objRs.Recordcount '总记录数
intPaCun=objRs.pagecount '总页数
if page>intPaCun then page=intPaCun '当前页码于总页数比较
objRs.absolutepage=page

response.write "共:"&intReCun&"页 当前为:"&intPaCun&"页"
dim strFile1,i
set strFile1=objRs("file1") '建立对象(这里例出一个字段,实际中一般是多个字段)
i=1
' 这里应该用对象
do while not objRs.eof and i<=20 '此时的20为是一页显示的记录数objRs.pagesize
response.write(strFile1 & "<br>")
i=i+1
objRs.movenext '下移一位
loop
' 以下一段为及时关闭、释放资源
objRs.close
set objRs=nothing
objConn.close
set objConn=nothing
set strFile1=nothing
%>

<table>
<form action="index.asp" method="get" name="PostTopic">
<tr>
<td height="18" align="center"> <a href="index.asp">第一页</a>
<a href="index.asp?page=<%=page-1%>">上一页</a>
<input name="page" type="text" id="page" value="<%=page%>" size="6" maxlength="4">
  
<input name=cmdConfrom type=submit id="cmdConfrom" value= 提交 >
<a href="index.asp?page=<%=page+1%>">下一页</a> <a href="index.asp?page=<%=intPaCun%>">最后一页</a>
</td>
</tr>
</form>
</table>
<%
end if
%>