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

类别:软件工程 点击:0 评论:0 推荐:
最简单的查询带分页功能的页面(跳转分页时查询条件不丢失),希望对大家有所帮助.
先建立一个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>

本文地址:http://com.8s8s.com/it/it32782.htm