第一种:参数直接代入法
这种方法是用手工建立Recordset对象,利用其pagesize(每页指定显示记录数),pagecount(总页码数)和absolutepage(当前页码数)属性来控制分页的输出。分页采用<href>直接带页码参数的方法来控制翻页。网页的名字为emp1.asp。源代码如下:
<%//建立与employee.mdb数据库的连接。 Set conn = Server.CreateObject("ADODB.Connection") conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=employee.mdb" //建立emp表的Recordset对象实例rs。 Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "emp", conn, 3 PageSize = 10 //pagesize属性指定了每页要显示的记录条数 Page = CLng(Request("Page")) 'string型转化为long型 If Page < 1 Then Page = 1 If Page > rs.PageCount Then Page = rs.PageCount If Page <> 1 Then Response.Write "<A HREF=emp1.asp?Page=1>第一页</A>" Response.Write "<A HREF=emp1.asp?Page=" & (Page-1) & ">上一页</A>" End If If Page <> rs.PageCount Then Response.Write "<A HREF=emp1.asp?Page=" & (Page+1) & ">下一页</A>" Response.Write "<A HREF=emp1.asp?Page="&rs.PageCount & ">最后一页</A>" End If Response.write"页码:" & Page & "/" & rs.PageCount & "</font>" //每一页的显示 //显示表头 Response.Write "<CENTER><TABLE BORDER=1>" Response.WRITE "<TR><TD>" & rs.Fields("emp ID").Name & "</TD>" Response.WRITE "<TD>" & rs.Fields("last name").Name & "</TD>" Response.WRITE "<TD>" & rs.Fields("first name").Name & "</TD></TR>" //循环显示每条记录 rs.AbsolutePage = Page //把页码赋给absolutepage属性从而知当前页的首条记录号 For iPage = 1 To rs.PageSize // Response.WRITE "<TR><TD>" & rs.Fields("emp ID").Value & "</TD>" Response.WRITE "<TD>" & rs.Fields("first name").Value & "</TD>" Response.WRITE "<TD>" & rs.Fields("last name").Value & "</TD></TR>" rs.MoveNext If rs.EOF Then Exit For Next Response.Write "</TABLE></CENTER>"%>
第二种:表单传送参数法
这种方法在创建Recordset对象时与第一种相同,只是在翻页控制时,采用<input>和case语句配合来实现翻页。网页的名字为:emp2.asp。此方法在编程逻辑上有个缺点:就是在按过“上页”或“下页”钮后,再在浏览器上按刷新按钮时,会自动翻页。源代码如下:
if Pagenum = "" Then Pagenum = 1 //从第一页开始显示 //建立数据库连接和Recordset对象实例rs。 与第一种方法相同,此处略过。 RS.Pagesize = 10 ' 设置一页中显示的记录条数为10条 // 确定翻页的动作 Select Case Request("NAV") Case "" session("Pagenum") = 1 case "First" ' First Record session("Pagenum") = 1 case "Prev" ' Previous Record if session("Pagenum") > 1 then session("Pagenum") = session("Pagenum") - 1 End If case "Next" ' Next Record if session("Pagenum")< RS.PageCount then session("Pagenum") = session("Pagenum") + 1 End if case "Last" ' Last Record session("Pagenum") = RS.PageCount End Select RS.Absolutepage = Clng(session("Pagenum")) //确定当前页的第一条记录号 // 显示当前页 同第一种方法,此处略过。 // Nav 翻页按钮设置 <form method="GET" action="emp2.asp"> <input type="submit" name="NAV" Value="首页"> <input type="submit" value="上页" name="NAV"> <input type="submit" value="下页" name="NAV"> <input type="submit" value="末页" name="NAV"></form>
内容版权声明:除非注明,否则皆为本站原创文章。