My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > Asp > 基本
ado网站资料库技术速成(三)
作者:Yestar2000 时间:2001-11-08 10:55 出处:互联网 责编:MyFAQ
              摘要: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,即可判斷是否要顯示 [上一頁] [下一頁] 超連結。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有