新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:最简单查询带分页功能的代码

最简单查询带分页功能的代码

新客网 XKER.COM 2005-01-27 来源: 收藏本文
晚上,应一位网友的求助,偶写了个最简单的查询带分页功能的页面(跳转分页时查询条件不丢失),希望对大家有所帮助.
先建立一个Access的数据库Db1.mdb,里面有一个数据表Dicky,共4个字段:
字段名 数据类型
ID AutoNumber
Name Text
Sex Text
Age Number
QQ Number
建立完库后请自行添加几条数据作为测试.

Page.asp代码如下:
<html>
<head>
<title>分页测试</title>
<script language="javascript">
<!--
//分頁跳轉函數
function GotoPageSubmit(GotoPage)
{
form1.GotoPage.value = GotoPage;
form2.GotoPage.value = GotoPage;
form1.submit();
}
//-->
</script>
</head>
<body>
<table align=center>
<form name=form1 method=post>
<input type=hidden name=GotoPage>
<tr><td>
<input type=checkbox name=Sex value="男"<%If Instr(Replace(Request("Sex")," ",""),"男") <> 0 Then Response.Write " checked"%>>男<input type=checkbox name=Sex value="女"<%If Instr(Replace(Request("Sex")," ",""),"女") <> 0 Then Response.Write " checked"%>>女
<input type=submit name=search value=搜索>
</td>
</tr>
</form>
</table>
<table width=100% align=center>
<%
Dim Db,ConnStr,Conn,Rs,Sql
Set Conn = Server.CreateObject("ADODB.Connection")
Db = "db1.mdb"
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(Db)

Conn.Open ConnStr
If Trim(Request("Sex")) = "" Or Trim(Request("Sex")) = "男, 女" Then
Sql = "Select * From Dicky"
Else
Sql = "Select * From Dicky Where Sex='"&Trim(Request("Sex"))&"'"
End If
'Response.Write Sql
Set Rs = Server.CreateObject("Adodb.RecordSet")
Rs.Open Sql,Conn,1,1
'Set Rs = Conn.Execute(Sql)
If Rs.Eof Then
Response.Write "<tr align=center><td>对不起,尚无记录!</td></tr>"
Else%>
<tr><th>姓名</th><th>性别</th><th>QQ</th></tr>
<% '*************分頁處理部分By Dicky 2004-12-10 10:49:32**************
Dim Page,Page_Number,TotalRec,MaxPerPage,MM
'Page(當前頁),Page_Number(縂頁數),TotalRec(縂記錄數),MaxPerPage(每頁顯示條數)
MM = 0
If Trim(Request.Form("GotoPage")) <> "" Then
If Not IsNumeric(Trim(Request.Form("GotoPage"))) Then
Page = 1
Else
Page = CLng(Trim(Request.Form("GotoPage")))
End If
Else
Page = 1
End If

Rs.PageSize = 1
MaxPerPage = Rs.pageSize
TotalRec = Rs.RecordCount
Page_Number = Rs.PageCount
If Page_Number = 0 Then Page_Number = 1
If CLng(Page) < 1 Then Page = 1
If Page > Page_Number Then Page = Page_Number
Rs.AbsolutePage = Page
'*************分頁處理部分By Dicky 2004-12-10 10:49:32**************
Do While Not Rs.Eof And MM < MaxPerPage
Response.Write "<tr align=center><td>"&Rs("Name")&"</td><td>"&Rs("Sex")&"</td><td>"&Rs("QQ")&"</td></tr>"
MM = MM + 1
Rs.MoveNext:Loop
End If
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
%>
</table>
<!-- 分頁公用文件 By Dicky 2004-12-10 11:01:26 -->
<%
'If Page_Number > 1 Then%>
<table width="100%" style="font-size: 9pt; margin-top: 4px">
<form method="post" name="form2">
<tr align="center"><td>
<%
Response.Write "共<b><font color=red>"&TotalRec&"</font></b>条"
Response.Write " 页次:<b><font color=red>"&Page&"</font></b>/<b>"&Page_Number&"</b>页"
Response.Write " 每页<b><font color=red>"&MaxPerPage&"</font></b>条"
%>

分页:<% If Page = 1 Then
Response.Write "[首页]"
Response.Write "[上一页]"
Else
Response.Write "[<a href='javascript:GotoPageSubmit(1);'><font color=blue>首页</font></a>]"
Response.Write "[<a href='javascript:GotoPageSubmit("&Page-1&");'><font color=blue>上一页</font></a>]"
End If

If Page_Number - Page >= 1 Then
Response.Write "[<a href='javascript:GotoPageSubmit("&Page+1&");'><font color=blue>下一页</font></a>]"
Response.Write "[<a href='javascript:GotoPageSubmit("&Page_Number&");'><font color=blue>尾页</font></a>]"
Else
Response.Write "[下一页]"
Response.Write "[尾页]"
End If%>
转到第 <input name="GotoPage" type=text size="3" maxlength="3" style="text-align:center;color:#FF0000;" value="<%=Page%>" onmouseover="this.select();"> 页&nbsp;<input name=goto type=button onClick="javascript:GotoPageSubmit(form2.GotoPage.value);" value=" Go ">
</td></tr>
</form>
</table>
<%
'End If%>
</body>
</html>


收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐