當(dāng)前日期是: 2025-01-11 国产亚洲一区二区三区91,久久亚洲国产精品尤物,亚洲熟女视频在线播放

国产精品高清免费在线视频-亚洲精品午夜福利一区-91成人精品国产免费男男-噼里啪啦日本一区二区

上海啟嘟渡科技商貿(mào)有限公司
SEARCH

與我們合作

我們專注提供互聯(lián)網(wǎng)一站式服務(wù),助力企業(yè)品牌宣傳多平臺(tái)多途徑導(dǎo)流量。
主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、移動(dòng)端微信小程序開(kāi)發(fā)、營(yíng)銷推廣、基礎(chǔ)網(wǎng)絡(luò)、品牌形象策劃等

您也可通過(guò)下列途徑與我們?nèi)〉寐?lián)系:

微 信: wxyunyingzhe

手 機(jī): 15624122141

郵 箱:

怎樣做翻頁(yè)控制條

更新時(shí)間:2025-01-11 20:06:39

在微軟的ASP編程體系中,ADO對(duì)象的建立,使得從網(wǎng)頁(yè)訪問(wèn)數(shù)據(jù)庫(kù)成為一件易事,特別是ADO的Recordset對(duì)象使得控制數(shù)據(jù)的輸出顯示更為方便、自由。而在Visual InterDev6.0(以下簡(jiǎn)稱VI6.0)中,由于Script Object Model(以下簡(jiǎn)稱SOM)、Design-Time Control(以下簡(jiǎn)稱DTC)以及Data Environment Object Model(以下簡(jiǎn)稱DEOM)等對(duì)象模型的引入,使網(wǎng)頁(yè)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)設(shè)計(jì)顯得更為方便。

   因?yàn)橹黝}方面的原因,關(guān)于數(shù)據(jù)庫(kù)的連接,下文只給出代碼和簡(jiǎn)要注釋,而把重點(diǎn)放在如何利用Recordset對(duì)象(或控件)實(shí)現(xiàn)數(shù)據(jù)記錄的分頁(yè)顯示方面。根據(jù)我的理解,分頁(yè)顯示的關(guān)鍵就在于對(duì)ADO的Recordset對(duì)象或DTC(設(shè)計(jì)時(shí)控件)的Recordset控件的屬性和方法的熟練把握上。

   這七種分頁(yè)顯示的武器概括起來(lái)說(shuō)分四類:

   第一、二種我暫取名叫“純ASP法”,這也是國(guó)內(nèi)的ASP網(wǎng)站上用得最多的方法,它們的區(qū)別僅在實(shí)現(xiàn)技巧的不同。這兩種方法的實(shí)現(xiàn)最易理解,用到的對(duì)象概念也最少,對(duì)開(kāi)發(fā)環(huán)境的要求也最低(只要記事本就行)。可以說(shuō),這兩種方法的實(shí)質(zhì)還是CGI的編程思想,只是在程序中引入了ADO對(duì)象而已。

   第四、五種暫取名叫“SOM的DHTML法”。這兩種方法要求在VI6.0的環(huán)境下,利用微軟提出的腳本對(duì)象模型(Script Object Model)和DHTML中Table對(duì)象的與數(shù)據(jù)庫(kù)綁定的新特性(許多書(shū)和文章只介紹了DHTML的CSS特性在樣式設(shè)計(jì)中的運(yùn)用而忽略介紹其數(shù)據(jù)綁定特性),實(shí)現(xiàn)在客戶端控制翻頁(yè)。但它要求用戶的瀏覽器必須是支持DHTML,如:Microsoft Internet Explorer 4.0及以上的版本。

   第六種暫取名叫“SOM服務(wù)器端法”。要求在VI6.0的環(huán)境下開(kāi)發(fā),它利用微軟提出的腳本對(duì)象模型(Script Object Model)中的幾個(gè)DTC控件:Recordset、PageObject、Grid等在服務(wù)器端(客戶端)實(shí)現(xiàn)翻頁(yè)控制。這是一種激動(dòng)人心的、全新的編程方法,它把網(wǎng)頁(yè)看成對(duì)象(這種對(duì)象模型和傳統(tǒng)的DOM----document object model是有區(qū)別的:DOM只能控制客戶端,而SOM可控制服務(wù)器端和客戶端),它真正實(shí)現(xiàn)了網(wǎng)頁(yè)的面向?qū)ο缶幊獭5z憾的是,也許是我個(gè)人能力有限,這種技術(shù)我個(gè)人認(rèn)為還不是很成熟,比如,與瀏覽器的結(jié)合還不是很好,這將在后文詳細(xì)說(shuō)明。

   第七種暫取名叫“DEOM法”。它也是利用了VI6.0中建立的數(shù)據(jù)環(huán)境對(duì)象模型(Data Environment Object Model)建立Recordset對(duì)象。這也是在網(wǎng)頁(yè)編程上比較少見(jiàn)的新方法,與SOM模型相比,自有它的優(yōu)點(diǎn),這將在后文詳述。

   在后面所舉的所有例子源代碼,都可以直接拷貝使用,你甚至可以不懂其原理,只要把其中的粗斜體字部分換成相應(yīng)自己的數(shù)據(jù)庫(kù)名或字段名就可以了。

   在開(kāi)始詳細(xì)介紹各種分頁(yè)方法前,讓我們先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù):用Office97中的access自創(chuàng)一個(gè)Employee.mdb,其中建一個(gè)表emp,只設(shè)三個(gè)字段:emp ID,last name和first name。為什么這么簡(jiǎn)單,是因?yàn)槲覀冴P(guān)心的是怎樣處理recordset的結(jié)果。

   第一種:參數(shù)直接代入法

   這種方法是用手工建立Recordset對(duì)象,利用其pagesize(每頁(yè)指定顯示記錄數(shù)),pagecount(總頁(yè)碼數(shù))和absolutepage(當(dāng)前頁(yè)碼數(shù))屬性來(lái)控制分頁(yè)的輸出。分頁(yè)采用<href>直接帶頁(yè)碼參數(shù)的方法來(lái)控制翻頁(yè)。網(wǎng)頁(yè)的名字為emp1.asp。源代碼如下:

<%//建立與employee.mdb數(shù)據(jù)庫(kù)的連接。

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=employee.mdb"

//建立emp表的Recordset對(duì)象實(shí)例rs。

Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open "emp", conn, 3

PageSize = 10 //pagesize屬性指定了每頁(yè)要顯示的記錄條數(shù)

Page = CLng(Request("Page")) ’string型轉(zhuǎn)化為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>第一頁(yè)</A>"

  Response.Write "<A HREF=emp1.asp?Page=" & (Page-1) & ">上一頁(yè)</A>"

End If

If Page <> rs.PageCount Then

  Response.Write "<A HREF=emp1.asp?Page=" & (Page+1) & ">下一頁(yè)</A>"

  Response.Write "<A HREF=emp1.asp?Page="&rs.PageCount & ">最后一頁(yè)</A>"

End If

Response.write"頁(yè)碼:" & Page & "/" & rs.PageCount & "</font>"

//每一頁(yè)的顯示

//顯示表頭

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>"

//循環(huán)顯示每條記錄

rs.AbsolutePage = Page //把頁(yè)碼賦給absolutepage屬性從而知當(dāng)前頁(yè)的首條記錄號(hào)

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>"%>

   第二種:表單傳送參數(shù)法

   這種方法在創(chuàng)建Recordset對(duì)象時(shí)與第一種相同,只是在翻頁(yè)控制時(shí),采用<input>和case語(yǔ)句配合來(lái)實(shí)現(xiàn)翻頁(yè)。網(wǎng)頁(yè)的名字為:emp2.asp。此方法在編程邏輯上有個(gè)缺點(diǎn):就是在按過(guò)“上頁(yè)”或“下頁(yè)”鈕后,再在瀏覽器上按刷新按鈕時(shí),會(huì)自動(dòng)翻頁(yè)。源代碼如下:

if Pagenum = "" Then Pagenum = 1 //從第一頁(yè)開(kāi)始顯示

//建立數(shù)據(jù)庫(kù)連接和Recordset對(duì)象實(shí)例rs。

與第一種方法相同,此處略過(guò)。

RS.Pagesize = 10 ’ 設(shè)置一頁(yè)中顯示的記錄條數(shù)為10條

// 確定翻頁(yè)的動(dòng)作

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")) //確定當(dāng)前頁(yè)的第一條記錄號(hào)

// 顯示當(dāng)前頁(yè)

同第一種方法,此處略過(guò)。

// Nav 翻頁(yè)按鈕設(shè)置

<form method="GET" action="emp2.asp">

<input type="submit" name="NAV" Value="首頁(yè)">

<input type="submit" value="上頁(yè)" name="NAV">

<input type="submit" value="下頁(yè)" name="NAV">

<input type="submit" value="末頁(yè)" name="NAV"></form>

   第三種:用Grid控件設(shè)計(jì)分頁(yè)

   所有的方法中,這種方法最容易。你只需拖DTC中的Recordset控件和Grid控件到asp網(wǎng)頁(yè)中就行了。而且,你還能選擇是在服務(wù)器平臺(tái)還是在客戶端平臺(tái)控制翻頁(yè)。缺點(diǎn)就是你必須用它給定的格式顯示,而不能自己自由控制表格的顯示格式。

   方法如下:

   在VI6.0中建一個(gè)工程emp.vip。再在工程中添加一個(gè)asp網(wǎng)頁(yè):emp3.asp。

   第一步:選VI6.0菜單條上的“add data connect…”,按開(kāi)發(fā)工具的導(dǎo)航提示,你就可以很容易地建立與Employee.mdb數(shù)據(jù)庫(kù)的連接。從DTC工具欄中拖一個(gè)Recordset控件到網(wǎng)頁(yè)中,并設(shè)置其屬性。具體如圖:

   當(dāng)你拖控件到網(wǎng)頁(yè)中時(shí),VI6.0會(huì)自動(dòng)提示你“是否使用Scripting object model”,按yes。

   第三步:從DTC工具欄中拖一個(gè)Grid控件到網(wǎng)頁(yè)中,然后單擊鼠標(biāo)右鍵,設(shè)置其屬性,如:選在第二步中創(chuàng)建的Recordset控件名,選擇emp表中的字段,每頁(yè)顯示多少條記錄以及顯示格式等。非常簡(jiǎn)單方便,只要照著導(dǎo)航提示做就行了。

   第四種:DHTML法一。

   數(shù)據(jù)記錄顯示在一個(gè)HTML表中。它利用DHTML中表的數(shù)據(jù)綁定特性來(lái)控制記錄的分頁(yè)顯示。缺點(diǎn)就是你的翻頁(yè)方法將被限制為一種特定的方式:只能“上頁(yè)”和“下頁(yè)”而不能“首頁(yè)”和“末頁(yè)”。由于是在客戶端控制翻頁(yè),所以,這種和第五種方法是速度最快的,但遺憾的是它只能在支持DHTML的瀏覽器上使用。

   在DHTML中,<TABLE>的DATASRC屬性可使表格綁定到一個(gè)數(shù)據(jù)源,另一個(gè)屬性DATAPAGESIZE可指定一頁(yè)一次顯示的記錄數(shù)。

   我們來(lái)看下面的例子:

   第一步:拖Recordset控件到新建的網(wǎng)頁(yè)emp4.htm中,設(shè)置其屬性,方法同第三種,此處略。

   第二步:輸入下面的代碼:

<TABLE ID="Table1" DATASRC="#Recordset1_RDS" DATAPAGESIZE=5> //假定前面設(shè)定Recordset控件名為Recordset1。每頁(yè)顯示5條記錄。

<THEAD>

<TH ALIGN="left" WIDTH=150>Emp ID</TH> //輸出表頭

<TH ALIGN="left" WIDTH=200>Last Name</TH>

<TH ALIGN="left" WIDTH=200>First Name</TH>

</THEAD>

<TR>

<TD><DIV DATAFLD="Emp ID"></DIV></TD> //輸出表內(nèi)容

<TD><DIV DATAFLD="Last Name"></DIV></TD>

<TD><DIV DATAFLD="First Name"></DIV></TD>

</TR>

</TABLE>

   第三步:然后,增加一對(duì)DTCs Button按鈕控件來(lái)做翻頁(yè)導(dǎo)航,一個(gè)命名為“btnPrevious”(上一頁(yè)),一個(gè)命名為“btnNext”(下一頁(yè))。它們相應(yīng)的腳本如下:

<SCRIPT LANGUAGE=VBScript>

Function btnPrevious_onclick()

Table1.previousPage()

End Function

Function btnNext_onclick()

Table1.nextPage()

End Function

</SCRIPT>

多重隨機(jī)標(biāo)簽

猜你喜歡文章

QQ客服 電話咨詢
国产欧美日韩综合精品二区| 国产日韩综合一区在线观看| 亚洲国产丝袜一区二区三区四| 好吊视频有精品永久免费| 亚洲国产精品一区二区毛片| 国产精品一区二区不卡中文| 日本女人亚洲国产性高潮视频| 精品国产成人av一区二区三区| 久久永久免费一区二区| 两性色午夜天堂免费视频| 又黄又爽禁片视频在线观看| 国产精品第一香蕉视频| 丝袜诱惑一区二区三区| 麻豆一区二区三区精品视频| 久久精品国产第一区二区三区| 日本成人三级在线播放| 黄色国产一区二区三区| 日韩偷拍精品一区二区三区| 日本欧美一区二区三区高清| 日韩欧美综合在线播放| 免费精品国产日韩热久久| 欧美区一区二在线播放| 国产午夜精品在线免费看| 91福利视频日本免费看看| 亚洲天堂国产精品久久精品| 日本少妇三级三级三级| 欧美日韩国产的另类视频| 在线欧洲免费无线码二区免费| 欧美成人免费夜夜黄啪啪| 太香蕉久久国产精品视频| 国产又粗又猛又大爽又黄| 免费在线观看激情小视频| 精品人妻一区二区三区免费| 亚洲综合精品天堂夜夜| 日本本亚洲三级在线播放| 国内胖女人做爰视频有没有| 在线观看视频日韩精品| 日本乱论一区二区三区 | 粉嫩一区二区三区粉嫩视频| 国产又黄又猛又粗又爽的片| 亚洲熟女少妇精品一区二区三区|