ado网站资料库技术速成(三)
ADO存取資料庫如何顯示上一頁下一頁?
若要於RecordSet移動到上一頁下一頁的位置,必須學會以下RecordSet物件的屬性:
PageSize屬性:設定每一頁顯示的記錄筆數。
PageCount屬性:得知資料記錄的總頁數。
AbsolutePage屬性:設定顯示第幾頁的記錄筆數。
RecordCount屬性:得知Recordset物件中資料記錄的總數目。
MaxRecords屬性:得知和設定傳到Recordset物件資料記錄的最大數目,預設值為0表示無限制。
顯示上一頁下一頁的例子
讓我們看一個於ASP程式碼當中使用PageSize/PageCount/ AbsolutePage/RecordCount顯示上一頁下一頁的例子。
譬如ASP程式碼如下:
<%
if Request("page") = "" then
page = 1
else
page = CINT(Request("page"))
end if
Set conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
Set rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECT * From 產品"
rs2.Open SqlStr,conn1,1,1
rs2.PageSize = 5
rs2.AbsolutePage = page
%>
第 <% =page %> 頁 / 計 <% =rs2.PageCount %> 頁 (計 <% =rs2.RecordCount %> 筆)
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">名稱</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">價格</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">數量</FONT></TD>
</TR>
<% For i = 1 To rs2.PageSize %>
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("代號")%></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("名稱")%></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("價格")%></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("數量")%></TD>
</TR>
<%
rs2.MoveNext
If rs2.EOF Then Exit For
Next
%>
</TABLE>
<% if page > 1 then %>
<A href=rs16.asp?page=<% =page -1 %> >上一頁</A>
<% end if %>
<% if page < rs2.PageCount then %>
<A href=rs16.asp?page=<% =page +1 %> >下一頁</A>
<% end if %>
<%
rs2.Close
conn1.Close
Set objCommand = Nothing
Set rs2 = Nothing
Set conn1 = Nothing
%>
當按下 [下一頁] 超連結時,由<A href=rs16.asp?page=<% =page +1 %> >下一頁</A>,將page設定為加一,並重新執行rs16.asp的asp碼。由page = CINT(Request("page"))設定page值。
首先於PageSize屬性設定每一頁顯示的記錄筆數為5,再於AbsolutePage屬性設定顯示第page頁的記錄筆數,程式部份如下:
rs2.PageSize = 5
rs2.AbsolutePage = page
由PageCount屬性得知資料記錄的總頁數,由RecordCount屬性得知資料記錄的總筆數,程式部份如下:
第 <% =page %> 頁 / 計 <% =rs2.PageCount %> 頁 (計 <% =rs2.RecordCount %> 筆)
最後由For i = 1 To rs2.PageSize…Next,將於PageSize屬性設定每一頁顯示的記錄筆數逐一顯示出來。
為了判斷是否要顯示 [上一頁] [下一頁] 超連結,由以下的程式部份:
<% if page > 1 then %>
<A href=rs16.asp?page=<% =page -1 %> >上一頁</A>
<% end if %>
<% if page < rs2.PageCount then %>
<A href=rs16.asp?page=<% =page +1 %> >下一頁</A>
<% end if %>
就可以使用page,比較第一頁1和總頁數PageCount,即可判斷是否要顯示 [上一頁] [下一頁] 超連結。
- · 汉字转化为拼音(asp版)
- · CGI技术及其开发(一)
- · 防止ACCESS数据库被下载的一个通用解决方法:
- · WebClass入门(1)
- · DirectInput鼠标编程入门
- · ASP的技术特点与使用方法
- · Asp中关于Global.asa文件的编程(三)
- · Asp中关于Global.asa文件的编程(二)
- · Asp中关于Global.asa文件的编程(-)
- · 在ASP中如何访问Novell下的数据库
- · 不通过dsn访问sqlserver
- · 数据库查询中的特殊字符的问题
- · 用SELECT创建记录和表
- · 关于SQL的存储过程一个悬而未决的老问题
- · 个人主页的数据库解决方案ASP
- · 连接WEB数据库的ADO性能提高技巧
- · ASP如何使用MYSQL数据库?
- · ASP.NET连SQL7接口源代码
- · 关于图片与文本同存在数据库中的具体思路
- · 一个图片数据的存和取的示例
- · ASP中使用SQL时的数据类型转换
- · T-SQL排序规则的优先顺序
- · T-SQL数据类型的优先顺序
- · SQLSELECT语句
- · 不通过dsn访问sqlserver
- · 袖珍数据库连接查询手册
- · SQLServer存储过程编程经验技巧
- · 在服务器端控制网页
- · ASP.NET中在线用户统计
- · 用ASP.NET和XML做的新闻系统
- · ASP.NET中自定义DataGrid分页设置的实现
- · ASP.NET中Cookie编程简明参考
- · 简单快捷实现ASP在线发邮件功能
- · 纯ASP代码生成图表函数1——柱状图调用示例
- · asp中随机生成文件名的函数
- · 18位身份证标准的详细规定,包括校验位的计算…
- · 加速ASP程序的显示速度
- · ASP提速技巧五则
