電子商務(wù)網(wǎng)站建設(shè)與維護(hù)第4章ASP技術(shù)及應(yīng)用_第1頁(yè)
電子商務(wù)網(wǎng)站建設(shè)與維護(hù)第4章ASP技術(shù)及應(yīng)用_第2頁(yè)
電子商務(wù)網(wǎng)站建設(shè)與維護(hù)第4章ASP技術(shù)及應(yīng)用_第3頁(yè)
電子商務(wù)網(wǎng)站建設(shè)與維護(hù)第4章ASP技術(shù)及應(yīng)用_第4頁(yè)
電子商務(wù)網(wǎng)站建設(shè)與維護(hù)第4章ASP技術(shù)及應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第4章 ASP技術(shù)及應(yīng)用學(xué)習(xí)目標(biāo)知識(shí)目標(biāo): 了解ASP各種內(nèi)置對(duì)象和組件的使用方法;創(chuàng)建ASP頁(yè)并利用ADO對(duì)象訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù)的方法。技能目標(biāo): 能夠合乎 規(guī)范并熟練地創(chuàng)建ASP頁(yè);配置ASP的運(yùn)行環(huán)境;使用ASP各種內(nèi)置對(duì)象和組件;在ASP頁(yè)中運(yùn)作數(shù)據(jù)庫(kù)。能力目標(biāo): 具備利用ASP技術(shù)結(jié)合數(shù)據(jù)庫(kù)開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)的能力。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章引例 攜程旅行網(wǎng)的個(gè)性化服務(wù)在電子商務(wù)領(lǐng)域中,旅游電子商務(wù)正如火如荼地發(fā)展,各旅游專(zhuān)業(yè)網(wǎng)站提供各式各樣的旅游服務(wù),攜程旅行網(wǎng)以其準(zhǔn)確的市場(chǎng)定位、適宜的經(jīng)營(yíng)理念以及新穎的設(shè)計(jì)思想成為電子商務(wù)領(lǐng)域的一個(gè)成功案例。攜程網(wǎng)扮演了四個(gè)角色:攜程網(wǎng)的建設(shè)基于新穎的

2、設(shè)計(jì)思想。攜程網(wǎng)非常重視信息內(nèi)容的建設(shè)。攜程網(wǎng)為注冊(cè)用戶(hù)提供了個(gè)性化服務(wù)和網(wǎng)上網(wǎng)下的消費(fèi)優(yōu)惠。攜程網(wǎng)設(shè)計(jì)了簡(jiǎn)單方便的預(yù)訂方法。例如只要經(jīng)過(guò)七個(gè)步驟的簡(jiǎn)單操作就可以預(yù)訂國(guó)內(nèi)的飛機(jī)票。 電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第6章 攜程網(wǎng)之所以能夠?qū)崿F(xiàn)新穎的設(shè)計(jì)理念,離不開(kāi)先進(jìn)的技術(shù)支持。要妥善保存注冊(cè)用戶(hù)的信息、要實(shí)現(xiàn)票務(wù)的預(yù)訂系統(tǒng),就離不開(kāi)網(wǎng)絡(luò)數(shù)據(jù)的支持;要為不同用戶(hù)呈現(xiàn)出不同的網(wǎng)頁(yè)信息,就離不開(kāi)ASP技術(shù)。4.1 ASP概述4.1.1 ASP的發(fā)展歷程4.1.2 ASP與傳統(tǒng)靜態(tài)網(wǎng)頁(yè)的區(qū)別4.1.3 ASP的特點(diǎn)4.1.4 ASP的工作過(guò)程4.1.5 ASP的基本語(yǔ)法電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 ASP

3、是Active Server Pages的簡(jiǎn)稱(chēng)。它可以用任何文本編輯器進(jìn)行編輯,程序中可以包含純文本、HTML標(biāo)記以及腳本命令,程序的擴(kuò)展名為.asp。 ASP網(wǎng)頁(yè)必須運(yùn)行于一種基于服務(wù)器的腳本環(huán)境中,所以ASP程序要放在Web服務(wù)器的指定目錄下,通過(guò)WWW方式可以看到執(zhí)行結(jié)果。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 ASP 網(wǎng)頁(yè)是一種包含了使用VB Script或Jscript腳本程序代碼的網(wǎng)頁(yè)。當(dāng)瀏覽器瀏覽ASP網(wǎng)頁(yè)時(shí), Web服務(wù)器就會(huì)根據(jù)請(qǐng)求生成相應(yīng)的HTML代碼然后再返回給瀏覽器,這樣瀏覽器端看到的就是動(dòng)態(tài)生成的網(wǎng)頁(yè)。ASP是微軟公司開(kāi)發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫(kù)和其它程

4、序進(jìn)行交互。是一種簡(jiǎn)單、方便的編程工具。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.1 ASP的發(fā)展歷程 ASP 1.0誕生于1996年,它的誕生給Web開(kāi)發(fā)界帶來(lái)了巨大的變革。ASP允許使用VBScript這種的簡(jiǎn)單腳本語(yǔ)言,編寫(xiě)嵌入在HTML網(wǎng)頁(yè)中的代碼。在進(jìn)行程序設(shè)計(jì)的時(shí)候可以使用它的內(nèi)部組件來(lái)實(shí)現(xiàn)一些高級(jí)功能(例如Cookie)。它的最大的貢獻(xiàn)在于它的ADO(ActiveX Data Object),這個(gè)組件使得程序?qū)?shù)據(jù)庫(kù)的操作十分簡(jiǎn)單,所以進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)也變成一件輕松的事情。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.1 ASP的發(fā)展歷程 到了1998年,微軟發(fā)布了ASP 2.0。它是Win

5、dows NT4 Option Pack的一部分,作為IIS 4.0的外接式附件。它與ASP 1.0的主要區(qū)別在于它的外部組件是可以初始化的,這樣,在ASP程序內(nèi)部的所有組件都有了獨(dú)立的內(nèi)存空間,并可以進(jìn)行事務(wù)處理。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.1 ASP的發(fā)展歷程 到了2000年,隨著Windows 2000的成功發(fā)布,這個(gè)操作系統(tǒng)的IIS 5.0所附帶的ASP 3.0也開(kāi)始流行。與ASP 2.0相比,ASP 3.0的優(yōu)勢(shì)在于它使用了COM+,因而其效率會(huì)比它前面的版本要好,并且更穩(wěn)定。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.2 ASP與傳統(tǒng)靜態(tài)網(wǎng)頁(yè)的區(qū)別 靜態(tài)網(wǎng)頁(yè)是指是站點(diǎn)的網(wǎng)頁(yè)內(nèi)容

6、是固定不變,不能根據(jù)用戶(hù)的需求和實(shí)際情況作出相應(yīng)的變化。 當(dāng)瀏覽器通過(guò)Internet的HTTP協(xié)議向站點(diǎn)的Web服務(wù)器申請(qǐng)主頁(yè)時(shí),站點(diǎn)服務(wù)器就會(huì)將已設(shè)計(jì)好的靜態(tài)的HTML文件傳送給瀏覽器。 若要更新網(wǎng)頁(yè)的內(nèi)容,只能用非在線的手動(dòng)方式更新HTML的文件數(shù)據(jù)。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.2 ASP與傳統(tǒng)靜態(tài)網(wǎng)頁(yè)的區(qū)別 ASP設(shè)計(jì)出的是動(dòng)態(tài)網(wǎng)頁(yè),可接收用戶(hù)提交的信息并做出反應(yīng),其中的數(shù)據(jù)可隨實(shí)際情況而改變,無(wú)須人工對(duì)網(wǎng)頁(yè)文件進(jìn)行更新即可滿(mǎn)足應(yīng)用需要。 例如:當(dāng)在瀏覽器上填好表單并提交HTTP請(qǐng)求時(shí),可以要求在站點(diǎn)服務(wù)器上執(zhí)行一個(gè)表單所設(shè)定的應(yīng)用程序,而不只是一個(gè)簡(jiǎn)單的HTML文件。該應(yīng)用

7、程序分析表單的輸入數(shù)據(jù),根據(jù)不同的數(shù)據(jù)內(nèi)容將相應(yīng)的執(zhí)行結(jié)果(通常是數(shù)據(jù)庫(kù)查尋的結(jié)果集)以HTML的格式傳送給瀏覽器。數(shù)據(jù)庫(kù)的數(shù)據(jù)可以隨時(shí)變化,而服務(wù)器上執(zhí)行的應(yīng)用程序卻不必更改,客戶(hù)端得到的網(wǎng)頁(yè)信息會(huì)始終保持最新信息。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.3 ASP的特點(diǎn)1)無(wú)須Compile編譯,容易產(chǎn)生,無(wú)須Compile 編譯或Link 鏈接即可執(zhí)行。2)使用常規(guī)文本編輯器,如Windows的記事本,即可設(shè)計(jì)。它包含在HTML代碼所組成的文件中的,易于修改和測(cè)試3)與瀏覽器無(wú)關(guān)。4)可通過(guò)ActiveX Server components(ActiveX服務(wù)器組件)來(lái)擴(kuò)充功能。Activ

8、eX Server component可使用Visual Basic, Java, Visual C+, COBOL等語(yǔ)言來(lái)實(shí)現(xiàn)。5)與任何AcTiveX scripting 語(yǔ)言兼容。6)由于服務(wù)器是將ASP程序執(zhí)行的結(jié)果以HTML格式傳回客戶(hù)端瀏覽器,因此使用者不會(huì)看到ASP所編寫(xiě)的原始程序代碼,可防止ASP程序代碼被竊取。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.4 ASP的工作過(guò)程ASP的工作過(guò)程如下圖所示:電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章服務(wù)器響應(yīng)(生成靜態(tài)頁(yè))ASP客戶(hù)請(qǐng)求 服務(wù)器客戶(hù)圖42 ASP服務(wù)與請(qǐng)求關(guān)系圖4.1.4 ASP的工作過(guò)程1)首先用戶(hù)在瀏覽器的網(wǎng)址欄中添入ASP文件名

9、稱(chēng),回車(chē)觸發(fā)這個(gè)ASP申請(qǐng)。2)瀏覽器將這個(gè)ASP的請(qǐng)求發(fā)送給IIS。3)Web Server接收這個(gè)申請(qǐng)要求并由于其.asp的后綴意識(shí)到這是個(gè)ASP要求。4)Web Server從硬盤(pán)或者內(nèi)存中接收正確的ASP文件。5)Web Server將這個(gè)文件發(fā)送到一個(gè)叫做ASP.DLL特定文件中。6)ASP文件將會(huì)從頭至尾被執(zhí)行并根據(jù)命令要求生成響應(yīng)的靜態(tài)主頁(yè)。7)該主頁(yè)將被送回瀏覽器。8)該主頁(yè)將會(huì)被用戶(hù)瀏覽器解釋執(zhí)行并顯示在用戶(hù)瀏覽器上。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.5 ASP的基本語(yǔ)法1)ASP的基本格式通常以標(biāo)記“”結(jié)束。書(shū)寫(xiě)格式如下:每一行只能寫(xiě)一條ASP語(yǔ)句,如果一條ASP語(yǔ)句太

10、長(zhǎng)而需要分成多行書(shū)寫(xiě)時(shí),需要使用續(xù)行符“_”(下劃線)連接。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.5 ASP的基本語(yǔ)法2)ASP程序的注釋在ASP程序中可以使用兩種表示注釋的方法:(1)使用單引號(hào)“”,在使用單引號(hào)的語(yǔ)句行中,單引號(hào)后面的文本被視為注釋。(2)使用關(guān)鍵字Rem,Rem后面的文本被視為注釋。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.5 ASP的基本語(yǔ)法3)定義變量可以使用Dim定義一個(gè)變量,也可以不經(jīng)定義直接使用變量。如Dim a, bX = 10Y = “Very good!”電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.5 ASP的基本語(yǔ)法4)一個(gè)簡(jiǎn)單的ASP實(shí)例【例41】使用Dream

11、weaver編輯一個(gè)顯示當(dāng)前日期和時(shí)間的ASP程序分析:本題主要是幫助學(xué)生了解ASP程序的基本語(yǔ)法要素。操作步驟:?jiǎn)?dòng)Dreamweaver,在文件面板的ASPCodes站點(diǎn)中新建文件夾Chapter4。在文件夾Chapter4中新建文件Ex41.asp。單擊代碼按鈕,切換到代碼視圖。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.1.5 ASP的基本語(yǔ)法4)一個(gè)簡(jiǎn)單的ASP實(shí)例在標(biāo)記和之間第10行加入文本“現(xiàn)在的日期和時(shí)間是:”,在第11行加入語(yǔ)句“”,如圖43所示。保存文件。按鍵盤(pán)上的F12鍵預(yù)覽,效果如下圖所示。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.2 ASP的內(nèi)嵌對(duì)象4.2.1 Request對(duì)象4.2

12、.2 Response對(duì)象4.2.3 Server對(duì)象4.2.4 Session對(duì)象4.2.5 Application對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.2 ASP的內(nèi)嵌對(duì)象 在利用ASP技術(shù)進(jìn)行動(dòng)態(tài)Web開(kāi)發(fā)的時(shí)候,應(yīng)遵循這樣一個(gè)原則:即ASP的服務(wù)器端腳本必須與微軟倡導(dǎo)的組件對(duì)象( Component Object Model )配合使用才能開(kāi)發(fā)出具有實(shí)用價(jià)值的信息產(chǎn)品。 ASP腳本相當(dāng)于一種粘合劑,把一個(gè)個(gè)具有特定功能的組件對(duì)象粘合在一起,以形成最終的軟件產(chǎn)品。這一軟件制作的工藝思想類(lèi)似于硬件工廠生產(chǎn)板卡的過(guò)程,那一個(gè)個(gè)的組件對(duì)象就相當(dāng)于集成電路的芯片,而ASP腳本只是焊接芯片的焊接劑

13、,由此可見(jiàn)組件對(duì)象起著核心作用。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.2 ASP的內(nèi)嵌對(duì)象 組件對(duì)象模型COM是微軟提出的一種基于二進(jìn)制的Windows軟件標(biāo)準(zhǔn),它是由OLE 技術(shù)逐漸發(fā)展而來(lái)的。在使用不同語(yǔ)言工具寫(xiě)成的組件對(duì)象之間,依據(jù)COM 的標(biāo)準(zhǔn)可以進(jìn)行交互。COM是技術(shù)概念和標(biāo)準(zhǔn), 其商業(yè)概念的稱(chēng)謂則使用ActiveX。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.2 ASP的內(nèi)嵌對(duì)象ASP內(nèi)嵌對(duì)象共有6個(gè),它們分別是Request、Response、Application、Session、ObjectContext和Server。每個(gè)對(duì)象均有各自的屬性、方法、集合或事件。1)Request對(duì)象 負(fù)責(zé)

14、從客戶(hù)端接收信息。2)Response對(duì)象 負(fù)責(zé)傳送信息給用戶(hù)。3)Server對(duì)象 負(fù)責(zé)控制ASP的運(yùn)行環(huán)境。4)Session對(duì)象 負(fù)責(zé)存儲(chǔ)個(gè)別用戶(hù)信息以供重復(fù)使用。5)Application對(duì)象 負(fù)責(zé)存儲(chǔ)數(shù)據(jù)以供多個(gè)用戶(hù)使用。6)ObjectContext對(duì)象 負(fù)責(zé)控制ASP的事務(wù)處理。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.2.1 Request對(duì)象Request對(duì)象為腳本提供了當(dāng)客戶(hù)端請(qǐng)求一個(gè)頁(yè)面或者傳遞一個(gè)窗體時(shí),客戶(hù)端提供的全部信息。Request對(duì)象允許ASP查詢(xún)有關(guān)與之交互的客戶(hù)程序信息,Request對(duì)象代表有客戶(hù)程序發(fā)往的HTTP請(qǐng)求報(bào)文。Request對(duì)象的語(yǔ)法描述如下:Re

15、quest.collection|property|method(variable)說(shuō)明:collection表示Request對(duì)象的集合,property表示Request對(duì)象的屬性,method表示Request對(duì)象的方法。三個(gè)參數(shù)只能選擇一個(gè)或者全都不選。Variable是一些字符串,用于表示要從集合中檢索的項(xiàng)目,或作為方法和屬性的輸入。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.2.1 Request對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章1)Request對(duì)象集合集合說(shuō)明ClientCertificate包含了存儲(chǔ)于客戶(hù)證書(shū)中的域值(field values)Cookies包含了 HTTP 請(qǐng)求中發(fā)

16、送的所有 cookie 值Form包含了使用 post 方法由表單發(fā)送的所有的表單(輸入)值QueryString包含了 HTTP 查詢(xún)字符串中所有的變量值ServerVariables包含了所有的服務(wù)器變量值4.2.1 Request對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章2)Request對(duì)象的屬性屬性:TotlBytes說(shuō)明:返回由客戶(hù)端發(fā)出的請(qǐng)求的整個(gè)字節(jié)數(shù)量Request對(duì)象的方法3)方法:BinaryRead(count)說(shuō)明:當(dāng)數(shù)據(jù)作為POST請(qǐng)求的一部分發(fā)往服務(wù)器時(shí),從客戶(hù)請(qǐng)求中獲得count字節(jié)的數(shù)據(jù),返回一個(gè)Variant數(shù)組(或者SafeArray)。如果ASP代碼已經(jīng)引用了R

17、equest.Form集合,這個(gè)方法就不能用。同時(shí),如果用了BinaryRead方法,就不能訪問(wèn)Request.Form集合。4.2.2 Response對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章Response對(duì)象用于向客戶(hù)端瀏覽器發(fā)送數(shù)據(jù),用戶(hù)可以使用該對(duì)象將服務(wù)器的數(shù)據(jù)以HTML的格式發(fā)送到用戶(hù)端的瀏覽器,它與Request組成了一對(duì)接收、發(fā)送數(shù)據(jù)的對(duì)象,這也是實(shí)現(xiàn)動(dòng)態(tài)的基礎(chǔ)。Response對(duì)象的語(yǔ)法描述如下:Response .collection|property|method(variable)4.2.2 Response對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章1)Response對(duì)象集合Re

18、sponse 對(duì)象只有一個(gè)集合Cookie。Cookies 集合設(shè)置 cookie 的值。若指定的 cookie 不存在,則創(chuàng)建它。若存在,則設(shè)置新的值并且將舊值刪去語(yǔ)法:Response.Cookies(cookie)(key)|.attribute=value 說(shuō)明:這里的 cookie 是指定 cookie 的名稱(chēng)。而如果指定了key,則該 cookie 就是一個(gè)字典。attribute 指定 cookie 自身的有關(guān)信息。attribute 參數(shù)可以是下列之一:Domain 若被指定,則 cookie 將被發(fā)送到對(duì)該域的請(qǐng)求中去。Expires 指定 cookie 的過(guò)期日期。為了在會(huì)

19、話結(jié)束后將 cookie 存儲(chǔ)在客戶(hù)端磁盤(pán)上,必須設(shè)置該日期。若此項(xiàng)屬性的設(shè)置未超過(guò)當(dāng)前日期,則在任務(wù)結(jié)束后 cookie 將到期。HasKeys 指定 cookie 是否包含關(guān)鍵字。Path 若被指定,則 cookie 將只發(fā)送到對(duì)該路徑的請(qǐng)求中。如果未設(shè)置該屬性,則使用應(yīng)用程序的路徑。4.2.2 Response對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章2)Response對(duì)象屬性(1)BufferBuffer 屬性指示是否緩沖頁(yè)輸出。(2)CharsetCharset屬性將字符集名稱(chēng)附加到Response對(duì)象中content-type標(biāo)題的后面。(3)Status用來(lái)處理服務(wù)器返回的錯(cuò)誤類(lèi)型。(

20、4)ExpiresExpires 屬性指定了在瀏覽器上緩沖存儲(chǔ)的頁(yè)距過(guò)期還有多少時(shí)間。(5)ExpiresAbsolute與Expires屬性不同ExpiresAbsolute 屬性指定緩存于瀏覽器中的頁(yè)面的確切到期日期和時(shí)間。(6)IsClientConnected判斷客戶(hù)端是否與服務(wù)器相連。當(dāng)緩沖頁(yè)輸出時(shí),只有當(dāng)前頁(yè)的所有服務(wù)器腳本處理完畢或者調(diào)用了Flush或End方法后,服務(wù)器才將響應(yīng)發(fā)送給客戶(hù)端瀏覽器,服務(wù)器將輸出發(fā)送給客戶(hù)端瀏覽器后就不能再設(shè)置 Buffer 屬性。因此應(yīng)該在 .asp 文件的第一行調(diào)用 Response.Buffer。如果用戶(hù)在某個(gè)頁(yè)過(guò)期之前又回到此頁(yè),就會(huì)顯示緩

21、沖區(qū)中的頁(yè)面。如果設(shè)置 response.expires=0,則可使緩存的頁(yè)面立即過(guò)期。這是一個(gè)較實(shí)用的屬性,當(dāng)客戶(hù)通過(guò)ASP的登陸頁(yè)面進(jìn)入WEB站點(diǎn)后,應(yīng)該利用該屬性使登陸頁(yè)面立即過(guò)期,以確保安全。在未到期之前,若用戶(hù)返回到該頁(yè),該緩存中的頁(yè)面就顯示。如果未指定時(shí)間,該主頁(yè)在當(dāng)天午夜到期。如果未指定日期,則該主頁(yè)在腳本運(yùn)行當(dāng)天的指定時(shí)間到期。4.2.2 Response對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章3)Response對(duì)象方法(1)Clear Clear 方法可用于清除緩沖區(qū)中的所有 HTML 輸出。但 Clear 方法只清除響應(yīng)正文而不清除響應(yīng)標(biāo)題??梢杂迷摲椒ㄌ幚礤e(cuò)誤情況。但是如果沒(méi)

22、有將 Response.Buffer 設(shè)置為 TRUE,則該方法將導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。(2)EndEnd 方法使 Web 服務(wù)器停止處理腳本并返回當(dāng)前結(jié)果。文件中剩余的內(nèi)容將不被處理。如果 Response.Buffer 已設(shè)置為 TRUE,則調(diào)用 Response.End 將緩沖輸出。4.2.2 Response對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章3)Response對(duì)象方法(3)FlushFlush 方法立即發(fā)送緩沖區(qū)中的輸出。如果沒(méi)有將 Response.Buffer 設(shè)置為 TRUE,則該方法將導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。(4)RedirectRedirect 方法使瀏覽器立即重定向到程序指定的 URL

23、。這也是一個(gè)我們經(jīng)常用到方法,這樣程序員就可以根據(jù)客戶(hù)的不同響應(yīng),為不同的客戶(hù)指定不同的頁(yè)面或根據(jù)不同的情況指定不同的頁(yè)面。(5)WriteWrite 方法是我們平時(shí)最常用的方法之一,它是將指定的字符串寫(xiě)到當(dāng)前的 HTTP 輸出。4.2.3 Server對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 Server對(duì)象是專(zhuān)為處理服務(wù)器上的特定任務(wù)而設(shè)計(jì)的,特別是與服務(wù)器的環(huán)境和處理活動(dòng)有關(guān)的任務(wù)。因此提供信息的屬性只有一個(gè),卻有七種方法用來(lái)以服務(wù)器特定的方法格式化數(shù)據(jù)、管理其他網(wǎng)頁(yè)的執(zhí)行、管理外部對(duì)象和組件的執(zhí)行以及處理錯(cuò)誤。 Server對(duì)象的語(yǔ)法描述如下:Sperty|method說(shuō)明: propert

24、y表示Server對(duì)象的屬性,method表示Server對(duì)象的方法。兩個(gè)參數(shù)只能選擇一個(gè)或者全都不選。4.2.3 Server對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 1)Server對(duì)象的屬性 Server對(duì)象的唯一一個(gè)屬性用于訪問(wèn)一個(gè)正在執(zhí)行的ASP網(wǎng)頁(yè)的腳本超時(shí)值, ScriptTimeout 整型。缺省值為90。 設(shè)置或返回頁(yè)面的腳本在服務(wù)器退出執(zhí)行和報(bào)告一個(gè)錯(cuò)誤之前可以執(zhí)行的時(shí)間(秒數(shù))。 達(dá)到該值后將自動(dòng)停止頁(yè)面的執(zhí)行,并從內(nèi)存中刪除包含可能進(jìn)入死循環(huán)的錯(cuò)誤的頁(yè)面或者是那些長(zhǎng)時(shí)間等待其他資源的網(wǎng)頁(yè)。這會(huì)防止服務(wù)器因存在錯(cuò)誤的頁(yè)面而過(guò)載。對(duì)于運(yùn)行時(shí)間較長(zhǎng)的頁(yè)面需要增大這個(gè)值。 4.2.3

25、 Server對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 2)Server對(duì)象的方法 Server對(duì)象的方法用于格式化數(shù)據(jù))管理網(wǎng)頁(yè)執(zhí)行和創(chuàng)建其他對(duì)象實(shí)例。(1)CreateObject(“identifier”)創(chuàng)建由identifier標(biāo)識(shí)的對(duì)象(一個(gè)組件)應(yīng)用程序或腳本對(duì)象)的一個(gè)實(shí)例,返回可以在代碼中使用的一個(gè)引用??梢杂糜谝粋€(gè)虛擬應(yīng)用程序(global.asa頁(yè))創(chuàng)建會(huì)話層或應(yīng)用程序?qū)臃秶鷥?nèi)的對(duì)象。(2)Execute(“url”)停止當(dāng)前頁(yè)面的執(zhí)行,把控制轉(zhuǎn)到在url中指定的網(wǎng)頁(yè)。用戶(hù)的當(dāng)前環(huán)境(即會(huì)話狀態(tài)和當(dāng)前事務(wù)狀態(tài))也傳遞到新的網(wǎng)頁(yè)。在該頁(yè)面執(zhí)行完成后,控制傳遞回原先的頁(yè)面,并繼續(xù)執(zhí)

26、行Execute方法后面的語(yǔ)句。4.2.3 Server對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章(3)GetLastError()返回ASP ASPError對(duì)象的一個(gè)引用,這個(gè)對(duì)象包含該頁(yè)面在ASP處理過(guò)程中發(fā)生的最近一次錯(cuò)誤的詳細(xì)數(shù)據(jù)。這些由ASPError對(duì)象給出的信息包含文件名)行號(hào))錯(cuò)誤代碼等等。 (4)HTMLEncode(“string”)返回一個(gè)字符串,該串是輸入值string的拷貝,但去掉了所有非法的HTML字符,如)&和雙引號(hào),并轉(zhuǎn)換為等價(jià)的HTML條目,即)&)等等。4.2.3 Server對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章(5)MapPath(“url”)返回在url中指定的

27、文件或資源的完整物理路徑和文件名。 (6)Transfer(“url”)停止當(dāng)前頁(yè)面的執(zhí)行,把控制轉(zhuǎn)到url中指定的頁(yè)面。用戶(hù)的當(dāng)前環(huán)境(即會(huì)話狀態(tài)和當(dāng)前事務(wù)狀態(tài))也傳遞到新的頁(yè)面。與Execute方法不同,當(dāng)新頁(yè)面執(zhí)行完成時(shí),不回到原來(lái)的頁(yè)面,而是結(jié)束執(zhí)行過(guò)程。 (7)URLEncode(“string”) 返回一個(gè)字符串,該串是輸入值string的拷貝,但是在URL中無(wú)效的所有字符,如?)&和空格,都轉(zhuǎn)換為等價(jià)的URL條目,即%3F)%26等。4.2.4 Session對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章Session對(duì)象用于存儲(chǔ)特定的用戶(hù)會(huì)話所需的信息。當(dāng)用戶(hù)在應(yīng)用程序的頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)

28、在 Session 對(duì)象中的變量不會(huì)清除,而用戶(hù)在應(yīng)用程序中訪問(wèn)頁(yè)面時(shí),這些變量始終存在。當(dāng)用戶(hù)請(qǐng)求來(lái)自應(yīng)用程序的 Web 頁(yè)時(shí),如果該用戶(hù)還沒(méi)有會(huì)話,則 Web 服務(wù)器將自動(dòng)創(chuàng)建一個(gè) Session 對(duì)象。當(dāng)會(huì)話過(guò)期或被放棄后,服務(wù)器將終止該會(huì)話。 Session對(duì)象的語(yǔ)法描述如下:Session.collection|property|method4.2.4 Session對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章1)Session對(duì)象的屬性(1)SessionIDSessionID 屬性返回用戶(hù)的會(huì)話標(biāo)識(shí)。在創(chuàng)建會(huì)話時(shí),服務(wù)器會(huì)為每一個(gè)會(huì)話生成一個(gè)單獨(dú)的標(biāo)識(shí)。會(huì)話標(biāo)識(shí)以長(zhǎng)整形數(shù)據(jù)類(lèi)型返回。在很多

29、情況下 SessionID 可以用于 WEB 頁(yè)面注冊(cè)統(tǒng)計(jì)。(2)TimeOutTimeout 屬性以分鐘為單位為該應(yīng)用程序的 Session 對(duì)象指定超時(shí)時(shí)限。如果用戶(hù)在該超時(shí)時(shí)限之內(nèi)不刷新或請(qǐng)求網(wǎng)頁(yè),則該會(huì)話將終止。(3)CodePageCodePage屬性決定將被用以顯示動(dòng)態(tài)內(nèi)容的代碼頁(yè)。代碼頁(yè)是字符集的數(shù)字值。4.2.4 Session對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章2)Session對(duì)象的方法 Session 對(duì)象僅有一個(gè)方法,就是 Abandon,Abandon 方法刪除所有存儲(chǔ)在 Session 對(duì)象中的對(duì)象并釋放這些對(duì)象的源。如果未明確地調(diào)用 Abandon 方法,一旦會(huì)話超

30、時(shí),服務(wù)器將刪除這些對(duì)象。4.2.4 Session對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章3)Session對(duì)象的事件Session 對(duì)象有兩個(gè)事件可用于在 Session 對(duì)象啟動(dòng)和釋放是運(yùn)行過(guò)程。(1)Session_OnStart 事件在服務(wù)器創(chuàng)建新會(huì)話時(shí)發(fā)生。服務(wù)器在執(zhí)行請(qǐng)求的頁(yè)之前先處理該腳本。Session_OnStart 事件是設(shè)置會(huì)話期變量的最佳時(shí)機(jī),因?yàn)樵谠L問(wèn)任何頁(yè)之前都會(huì)先設(shè)置它們。盡管在 Session_OnStart 事件包含 Redirect 或 End 方法調(diào)用的情況下 Session 對(duì)象仍會(huì)保持,然而服務(wù)器將停止處理 Global.asa 文件并觸發(fā) Session

31、_OnStart 事件的文件中的腳本。為了確保用戶(hù)在打開(kāi)某個(gè)特定的 Web 頁(yè)時(shí)始終啟動(dòng)一個(gè)會(huì)話,就可以在 Session_OnStart 事件中調(diào)用 Redirect 方法。當(dāng)用戶(hù)進(jìn)入應(yīng)用程序時(shí),服務(wù)器將為用戶(hù)創(chuàng)建一個(gè)會(huì)話并處理 Session_OnStart 事件腳本。(2)Session_OnEnd 事件在會(huì)話被放棄或超時(shí)發(fā)生。4.2.5 Application對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 Application對(duì)象用于存儲(chǔ)和訪問(wèn)來(lái)自任意頁(yè)面的變量,類(lèi)似Session對(duì)象。不同之處在于所有的用戶(hù)分享一個(gè)Application對(duì)象,而session對(duì)象和用戶(hù)的關(guān)系是一一對(duì)應(yīng)的。 Ap

32、plication對(duì)象掌握的信息會(huì)被應(yīng)用程序中的很多頁(yè)面使用(比如數(shù)據(jù)庫(kù)連接信息)。這就意味我們可以從任意頁(yè)面訪問(wèn)這些信息。也意味著你可以在在一個(gè)頁(yè)面上改變這些信息,隨后這些改變會(huì)自動(dòng)地反映到所有的頁(yè)面中。4.2.5 Application對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 1)Application對(duì)象的集合Application對(duì)象提供了兩個(gè)集合,可以用來(lái)訪問(wèn)存儲(chǔ)于全局應(yīng)用程序空間中的變量和對(duì)象。(1)Contents 包含所有通過(guò)script命令追加到應(yīng)用程序中的項(xiàng)目。(2)StaticObjects 包含所有使用HTML的標(biāo)簽追加到應(yīng)用程序中的對(duì)象。4.2.5 Application對(duì)

33、象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 2)Application對(duì)象的方法Application對(duì)象的方法允許刪除全局應(yīng)用程序空間中的值,控制在該空間內(nèi)對(duì)變量的并發(fā)訪問(wèn)。(1)Contents.Remove(variable_name) 從Application.Content集合中刪除一個(gè)名為variable_name的變量(2)Contents.RemoveAll()從Application.Content集合中刪除所有變量注意:在運(yùn)行期間不能從Application.StaticObjects集合中刪除變量。(3)Lock() 鎖定Application對(duì)象,使得只有當(dāng)前的ASP頁(yè)面對(duì)內(nèi)容能

34、夠進(jìn)行訪問(wèn)。用于確保通過(guò)允許兩個(gè)用戶(hù)同時(shí)地讀取和修改該值的方法而進(jìn)行的并發(fā)操作不會(huì)破壞內(nèi)容(4)Unlock() 解除對(duì)在Application對(duì)象上的ASP網(wǎng)頁(yè)的鎖定 4.2.5 Application對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章3)Application對(duì)象的事件Application對(duì)象提供了在它啟動(dòng)和結(jié)束時(shí)觸發(fā)的兩個(gè)事件 (1)OnStart當(dāng)ASP啟動(dòng)時(shí)觸發(fā),在用戶(hù)請(qǐng)求的網(wǎng)頁(yè)執(zhí)行之前和任何用戶(hù)創(chuàng)建Session對(duì)象之前。用于初始化變量)創(chuàng)建對(duì)象或運(yùn)行其他代碼(2)OnEnd當(dāng)ASP應(yīng)用程序結(jié)束時(shí)觸發(fā)。在最后一個(gè)用戶(hù)會(huì)話已經(jīng)結(jié)束并且該會(huì)話的OnEnd事件中的所有代碼已經(jīng)執(zhí)行之后發(fā)

35、生。其結(jié)束時(shí),應(yīng)用程序中存在的所有變量被取消4.3 ASP的常用組件 ASP組件是ActiveX控制和ASP接口讓普通進(jìn)程單一化。當(dāng)使用ASP編寫(xiě)服務(wù)器端引用程序時(shí),利用ASP組件可以增強(qiáng)應(yīng)用程序的功能,比如,連接數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行在線操作或者對(duì)Web服務(wù)器上的文件系統(tǒng)進(jìn)行操作,或者需要一個(gè)Web廣告交換程序等等,這些功能都可以通過(guò)調(diào)用ASP組件來(lái)完成。 ASP組件與ASP對(duì)象十分相似,利用他們都可以使ASP完成某些特定功能,它們之間的區(qū)別在于:一個(gè)組件可能包含不止一個(gè)對(duì)象,而且在使用組件之前,要先創(chuàng)建實(shí)例。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.3 ASP的常用組件 所有的ASP內(nèi)置組件都在安裝

36、ASP平臺(tái)的服務(wù)器上,可以方便的調(diào)用這些組件。調(diào)用內(nèi)置組件的步驟如下: 首先,必須創(chuàng)建組件的一個(gè)實(shí)例,并且將該實(shí)例賦予一個(gè)變量。創(chuàng)建組件實(shí)例的方法時(shí)使用ASP的Server對(duì)象的CreateObject方法。 然后,調(diào)用組件的方法和屬性,完成相應(yīng)功能。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.3 ASP的常用組件 ASP的內(nèi)置組件有13種,還可以根據(jù)需要安裝其他組件。在ASP組件中,Ad Rotator組件是較常見(jiàn)的。在眾多網(wǎng)站中,廣告隨處可見(jiàn)。網(wǎng)站的廣告即使網(wǎng)站宣傳的一大手法,也是網(wǎng)站收入的重要組成部分之一。對(duì)于一個(gè)稍具規(guī)模的網(wǎng)站來(lái)說(shuō),廣告數(shù)目時(shí)相當(dāng)龐大的,內(nèi)容變換頻繁,要管理好這些廣告,人工手法已

37、經(jīng)不能滿(mǎn)足要求,Ad Rotator組件就可以很好地解決這些問(wèn)題。 Ad Rotator組件創(chuàng)建一個(gè)Ad Rotator對(duì)象,該對(duì)象在Web頁(yè)上自動(dòng)輪換顯示廣告圖像。當(dāng)用戶(hù)每次打開(kāi)或重新加載Web頁(yè)時(shí),Ad Rotator組件將根據(jù)在Rotator Schedule文件中指定的信息顯示一個(gè)新廣告。 Ad Rotator組件還可以記錄每個(gè)廣告被多少個(gè)用戶(hù)單擊訪問(wèn),通過(guò)在Rotator Schedule文件中設(shè)置一個(gè)URL參數(shù),將用戶(hù)定向到重定向文件中就可以完成統(tǒng)計(jì)工作。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.4 使用ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù) ADO技術(shù)是一種對(duì)Microsoft所支持的數(shù)據(jù)庫(kù)的操作方法,它

38、是ASP與數(shù)據(jù)庫(kù)之間的橋梁,利用ASP可以在服務(wù)器上動(dòng)態(tài)生成Web頁(yè)。 ADO (Microsoft ActiveX Data Objects) 使您能夠編寫(xiě)通過(guò) OLE DB 提供者對(duì)在數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)進(jìn)行訪問(wèn)和操作的應(yīng)用程序。 ADO 同時(shí)具有遠(yuǎn)程數(shù)據(jù)服務(wù) (RDS) 功能,通過(guò) RDS 可以在一次往返過(guò)程中實(shí)現(xiàn)將數(shù)據(jù)從服務(wù)器移動(dòng)到客戶(hù)端應(yīng)用程序或 Web 頁(yè))在客戶(hù)端對(duì)數(shù)據(jù)進(jìn)行處理然后將更新結(jié)果返回服務(wù)器的操作。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章4.4.1 連接數(shù)據(jù)庫(kù)電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 ASP在操作數(shù)據(jù)庫(kù)之間需要連接數(shù)據(jù)庫(kù)。在ASP程序中,連接數(shù)據(jù)庫(kù)的步驟為:首先創(chuàng)建數(shù)據(jù)庫(kù)連

39、接對(duì)象;然后打開(kāi)數(shù)據(jù)庫(kù)連接。在打開(kāi)數(shù)據(jù)庫(kù)連接時(shí),需要指明打開(kāi)數(shù)據(jù)庫(kù)的驅(qū)動(dòng)方式OLEDB,以及要打開(kāi)的數(shù)據(jù)庫(kù)的路徑及文件名。 在常見(jiàn)的電子商務(wù)網(wǎng)站源代碼中,通常將數(shù)據(jù)庫(kù)連接語(yǔ)句放在一個(gè)ASP文件中,取名為conn.asp,該文件與數(shù)據(jù)庫(kù)文件放在同一個(gè)文件夾中,例如常放在data文件夾中。4.4.2 Connection對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 Connection 對(duì)象代表了打開(kāi)的)與數(shù)據(jù)源的連接,好象在應(yīng)用程序和數(shù)據(jù)庫(kù)中建立了一條數(shù)據(jù)傳輸連線,該對(duì)象代表與數(shù)據(jù)源進(jìn)行的惟一會(huì)話。 ASP 使用 ADO 對(duì)各種數(shù)據(jù)源進(jìn)行各種操作,其中,Connection 對(duì)象是必不可少的,在這個(gè)基礎(chǔ)上

40、可以使用 Command 對(duì)象及 Recordset 對(duì)象來(lái)對(duì) Connection 對(duì)象所連接的數(shù)據(jù)庫(kù)進(jìn)行插入)刪除)更新和查詢(xún)等操作。4.4.2 Connection對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 1)建立Connection對(duì)象 建立一個(gè)Connection對(duì)象通常通過(guò)調(diào)用Server對(duì)象的CreateObject方法,如下所示: Set Conn=Server.CreateObject(ADODB.Connection) 上述程序代碼建立了一個(gè)名為Conn的Connection對(duì)象,使用此對(duì)象可進(jìn)行與數(shù)據(jù)庫(kù)的鏈接操作。4.4.2 Connection對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4

41、章 2)Connection對(duì)象的方法Connection對(duì)象的方法包括:Open方法、Close方法、BeginTrans方法、CommitTrans方法、RollbackTrans方法和Execute方法。方法說(shuō)明Open建立與數(shù)據(jù)庫(kù)的連接Excute數(shù)據(jù)源查詢(xún)操作Close終止程序與數(shù)據(jù)庫(kù)之間的連接CommitTrans提交事務(wù)處理RollbackTrans放棄所有事物處理結(jié)果BeginTrans在同一傳送域中打開(kāi)一個(gè)新的事務(wù)處理4.4.2 Connection對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章Connection對(duì)象的方法: (1)Open方法Connection對(duì)象的Open方法主要

42、用來(lái)建立與數(shù)據(jù)庫(kù)的連接,只有用Open方法建立與數(shù)據(jù)庫(kù)的連接后,才可以繼續(xù)進(jìn)行其它操作??赏ㄟ^(guò)以下兩種途徑使用Open方法:4.4.2 Connection對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章Connection對(duì)象的方法: (2)Execute方法在建立好數(shù)據(jù)庫(kù)鏈接后,可以使用Execute方法進(jìn)行數(shù)據(jù)查詢(xún)操作。其使用語(yǔ)法為: Set rs=Connection.Execute(Query ,Count,Options)其中各個(gè)參數(shù)的含義為:Query(查詢(xún))參數(shù)包含一個(gè)表名或某個(gè)將被執(zhí)行的數(shù)據(jù)查詢(xún)信息(SQL語(yǔ)句)。Count參數(shù)指定執(zhí)行數(shù)據(jù)查詢(xún)信息返回所影響的記錄數(shù),如果想知道在執(zhí)行一個(gè)S

43、QL語(yǔ)句時(shí),到底刪除了多少條記錄,只需要把一個(gè)變量傳經(jīng)此參數(shù),在執(zhí)行結(jié)束后,通過(guò)檢查該變量的值就可以知道所刪除的記錄數(shù)。Options參數(shù)用于控制Query參數(shù)的性質(zhì),它有4個(gè)值定義Query的類(lèi)型: abCmdText:此參數(shù)值表明將執(zhí)行的是一個(gè)SQL串。 abCmdTable:此參值表明將執(zhí)行的是Query中的一個(gè)表名。 abCmdStoreProc:此參數(shù)值表明Execute方法將要執(zhí)行的是數(shù)據(jù)源的一個(gè)存儲(chǔ)過(guò)程。 abCmdUnknown:此參數(shù)值表明Query中的命令類(lèi)型不清楚。4.4.2 Connection對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章(3)Close方法Close方法用于終止

44、程序與數(shù)據(jù)庫(kù)之間的鏈接,并且用于釋放與鏈接有關(guān)的系統(tǒng)資源。與Open方法相對(duì)應(yīng),在使用Close方法終止程序與數(shù)據(jù)庫(kù)之間的鏈接后,并沒(méi)釋放Connection對(duì)象,可用Open方法打開(kāi)數(shù)據(jù)庫(kù)。其語(yǔ)法示例如下:語(yǔ)句conn.Close用于關(guān)閉Connection對(duì)象,語(yǔ)句set conn = nothing釋放鏈接數(shù)據(jù)所占用的系統(tǒng)資源。4.4.3 Recordset對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 Recordset 對(duì)象表示的是來(lái)自基本表或命令執(zhí)行結(jié)果的記錄全集。在任何情況下,該對(duì)象所指的當(dāng)前記錄均為集合內(nèi)的單條記錄。使用 Recordset 對(duì)象可以操作來(lái)自提供程序的數(shù)據(jù),通過(guò)該對(duì)象幾乎可

45、以對(duì)所有數(shù)據(jù)進(jìn)行操作。所有 Recordset 對(duì)象均使用記錄(行)和字段(列)進(jìn)行構(gòu)造。 Recordset 對(duì)象實(shí)際上是依附于 Connection 對(duì)象和 Command 對(duì)象之上的。通過(guò)建立及開(kāi)啟一個(gè) Connection 對(duì)象,可以與我們關(guān)心的數(shù)據(jù)庫(kù)建立連接;通過(guò)使用 Command 對(duì)象,則可以告訴數(shù)據(jù)庫(kù)我們想要做什么:是插入一條記錄,還是查找符合條件的記錄;通過(guò)使用 Recordset 對(duì)象,則可以方便自如地操作 Command 對(duì)象返回的結(jié)果。4.4.3 Recordset對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章 在使用Recordset對(duì)象前,必須先利用Connection對(duì)象鏈接

46、數(shù)據(jù)庫(kù)。使用Recordset對(duì)象對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,也就是通過(guò) Recordset對(duì)象創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)的指針,當(dāng)Recordset對(duì)象創(chuàng)建一個(gè)指針后,便可從數(shù)據(jù)庫(kù)供者處得到一個(gè)數(shù)據(jù)集,通過(guò)這個(gè)數(shù)據(jù)集對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行各種操作。 使用Recordset對(duì)象前,先要利用Server對(duì)象的CreateObject方法建立Recordset對(duì)象,其使用語(yǔ)法如下:4.4.3 Recordset對(duì)象電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章1)Recordset對(duì)象方法Recordset對(duì)象的方法根據(jù)其功能的不同可分為以下類(lèi):方法名稱(chēng)說(shuō)明操作Recordset對(duì)象Open打開(kāi)記錄集Close關(guān)閉Recordset對(duì)象并釋

47、放所有RecordSet對(duì)象占用的資源Clone創(chuàng)建一個(gè)完全相同的RecordSet對(duì)象移動(dòng)記錄指針MoveFirst把RecordSet中的記錄指針移動(dòng)到第一行記錄Movelast把RecordSet中的記錄指針移到最后一行記錄MoveNext記錄指針移到下一行記錄MovePrevious記錄指針移到上一行記錄Move按照指定的記錄個(gè)數(shù)向前或向后移動(dòng)記錄指針?biāo)⑿聰?shù)據(jù)庫(kù)文件GetRows從數(shù)據(jù)源中取得多行數(shù)據(jù)并將其存入一個(gè)數(shù)組中NextRecordset多重?cái)?shù)據(jù)查詢(xún)時(shí)清除當(dāng)前的RecordSet并取得的另外一個(gè)RecordSet對(duì)象Requery重新運(yùn)行第次創(chuàng)建RecordSet的命令或聲明R

48、esync從數(shù)據(jù)庫(kù)中取出RecordSet中已經(jīng)存在的記錄更新增刪數(shù)據(jù)記錄Addnew向數(shù)據(jù)庫(kù)中增加新記錄Delete刪除當(dāng)前記錄,可進(jìn)行批量刪除Update更新數(shù)據(jù)庫(kù)數(shù)據(jù)Cancelupdate取消剛發(fā)生的更新動(dòng)作Updatebatch批量更新數(shù)據(jù)庫(kù)數(shù)據(jù)4.4.4 使用RecordSet對(duì)象對(duì)數(shù)據(jù)記錄進(jìn)行增加、刪除及修改電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章本部分內(nèi)容通過(guò)實(shí)例說(shuō)明如何使用RecordSet對(duì)象的AddNew、delete方法實(shí)現(xiàn)對(duì)數(shù)據(jù)記錄的增加、刪除及修改的操作。1)使用AddNew方法增加數(shù)據(jù)記錄使用AddNew方法增加數(shù)據(jù)記錄,要先建立一個(gè)緩沖區(qū),并且將這個(gè)緩沖區(qū)設(shè)置為當(dāng)前數(shù)據(jù)記

49、錄。確定要添加的數(shù)據(jù)記錄后,通過(guò)Update方法或使用移動(dòng)當(dāng)前數(shù)據(jù)記錄的方法將數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)中。如果要取消添加的數(shù)據(jù)記錄,使用CancelUpdate方法取消添加。電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章在例414文件access1.asp的第2部分前面加入如下的語(yǔ)句,就可以實(shí)現(xiàn)增加數(shù)據(jù)庫(kù)記錄的操作。4.4.4 使用RecordSet對(duì)象對(duì)數(shù)據(jù)記錄進(jìn)行增加、刪除及修改4.4.4 使用RecordSet對(duì)象對(duì)數(shù)據(jù)記錄進(jìn)行增加、刪除及修改電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章2)使用Delete方法刪除數(shù)據(jù)記錄在使用Delete方法對(duì)數(shù)據(jù)記錄進(jìn)行刪除操作時(shí),首先要將準(zhǔn)備刪除的數(shù)據(jù)記錄設(shè)置成當(dāng)前的數(shù)據(jù)記錄,然后再調(diào)用Delete方法。在例414文件ex417.asp的第2部分前面加入如下語(yǔ)句,可刪除ID號(hào)為1的一條記錄。添加這段代碼后,另保存為文件2.asp,執(zhí)行2.asp可發(fā)現(xiàn)在數(shù)據(jù)庫(kù)中ID號(hào)為1的記錄被刪除。4.4.4 使用RecordSet對(duì)象對(duì)數(shù)據(jù)記錄進(jìn)行增加、刪除及修改電子商務(wù)網(wǎng)站建設(shè)與維護(hù) 第4章2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論