- 相關(guān)推薦
網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)
第一章 ASP使用基礎(chǔ)
要求:配置ASP運(yùn)行環(huán)境
根據(jù)所用Windows版本,安裝適當(dāng)?shù)腤eb服務(wù)器軟件(PWS或IIS),然后創(chuàng)建一個(gè)名為ASP的虛擬目錄,并在該目錄中創(chuàng)建一個(gè)ASP動(dòng)態(tài)網(wǎng)頁(yè),最后在IE瀏覽器中運(yùn)行該頁(yè)。
(1)如果當(dāng)前使用Windows 98操作系統(tǒng),練習(xí)PWS 4.0的安裝和卸載操作;如果當(dāng)前使用Windows 2000,練習(xí)IIS 5.0的安裝和卸載操作。
提示:安裝PWS通過(guò)其安裝程序來(lái)實(shí)現(xiàn);安裝IIS通過(guò)控制面板來(lái)實(shí)現(xiàn)。
(2)在“我的文檔”文件夾中創(chuàng)建一個(gè)名為ASP的文件夾,將其設(shè)置為Web站點(diǎn)中的一個(gè)虛擬目錄,其別名與實(shí)際文件夾名稱相同。
(3)在記事本程序中編寫一個(gè)ASP動(dòng)態(tài)網(wǎng)頁(yè),用于顯示當(dāng)前日期和時(shí)間,將文件保存在上述ASP文件夾中,文件名為ShowNow.asp。
(4)在IE瀏覽器中運(yùn)行ASP文件ShowNow.asp,并按F5鍵刷新頁(yè)面,以查看動(dòng)態(tài)內(nèi)容。
提示:查看上述ASP頁(yè)時(shí)可以在地址欄輸入以下網(wǎng)址
http://localhost/asp/ShowNow.asp
第二章 HTML語(yǔ)言
要求:用HTML語(yǔ)言創(chuàng)建網(wǎng)頁(yè)
1. 在網(wǎng)頁(yè)中使用BODY標(biāo)記的有關(guān)屬性設(shè)置網(wǎng)頁(yè)的背景圖片和文本顏色。
提示:用BODY標(biāo)記的BACKGROUD屬性設(shè)置網(wǎng)頁(yè)的背景圖片;用該標(biāo)記的TEXT屬性設(shè)置文本顏色。
2. 在網(wǎng)頁(yè)中設(shè)置文本的字體、字號(hào)和顏色。
提示:分別用FONT標(biāo)記的FACE、SIZE和COLOR屬性設(shè)置文本的字體、字號(hào)和顏色。
3. 在網(wǎng)頁(yè)中分別創(chuàng)建一個(gè)無(wú)序列表和無(wú)序列表。
提示:有序列表用OL和標(biāo)記LI來(lái)創(chuàng)建;無(wú)序列表用UL和LI標(biāo)記來(lái)創(chuàng)建。
4. 在網(wǎng)頁(yè)中插入一幅圖像,然后設(shè)置該圖像的格式。
提示:用IMG標(biāo)記插入圖像,用該標(biāo)記的有關(guān)屬性設(shè)置圖像格式。
5. 在網(wǎng)頁(yè)中播放視頻文件(.avi)。
提示:用IMG標(biāo)記在網(wǎng)頁(yè)中播放多媒體文件,此時(shí)應(yīng)設(shè)置IMG標(biāo)記的CONTROLS、DYNSRC、START和LOOP屬性,以控制播放過(guò)程。
6. 編寫一個(gè)網(wǎng)頁(yè),選擇一首mp3文件作為其背景音樂(lè),并在網(wǎng)頁(yè)中插入一個(gè)字幕。
提示:用BGSOUND標(biāo)記在網(wǎng)頁(yè)中添加背景音樂(lè),并通過(guò)SRC屬性指定一個(gè)mp3音樂(lè)文件的URL;用MARQUEE標(biāo)記在頁(yè)面中插入一個(gè)字幕。
7. 在網(wǎng)頁(yè)中創(chuàng)建一個(gè)表格并設(shè)置表格、行和單元格的屬性,然后將表格中的某些單元格合并起來(lái)。
提示:用TABLE、TR和TD(或TH)標(biāo)記創(chuàng)建表格,并通過(guò)這些標(biāo)記的屬性來(lái)設(shè)置表格、行和單元格的屬性;若要合并一些單元格,則應(yīng)設(shè)置TD(或TH)標(biāo)記的COLSPAN、ROWSPAN屬性。
8. 編寫一個(gè)框架網(wǎng)頁(yè),在頂部創(chuàng)建一個(gè)用于顯示網(wǎng)站標(biāo)題的橫幅框架,在左邊創(chuàng)建一個(gè)用于顯示網(wǎng)頁(yè)連接的目錄框架,并在右下方創(chuàng)建一個(gè)用于顯示內(nèi)容的主要框架。要求在目錄框架中單擊不同鏈接時(shí),在主要框架中顯示相應(yīng)的網(wǎng)頁(yè)。
提示:在框架網(wǎng)頁(yè)中,用FRAME標(biāo)記的NAME屬性指定各個(gè)框架的名稱,例如將右下方的框架名稱指定為main;在目錄網(wǎng)頁(yè)中,用A標(biāo)記的TARGET屬性指定在哪個(gè)框架中顯示超鏈接指向的目標(biāo)文檔。
9. 在網(wǎng)頁(yè)中創(chuàng)建一個(gè)表單,并要求在該表單中包含文本框、密碼框、滾動(dòng)文本框、單選按鈕、復(fù)選框、下拉菜單、提交按鈕和重置按鈕等控件。
提示:為了便于安排表單控件的布局,可以將控件放置在表格的單元格內(nèi),并對(duì)單元格的屬性進(jìn)行設(shè)置。
第三章 VBScript語(yǔ)言
要求:使用VBScript語(yǔ)言編程
1. 編寫一個(gè)網(wǎng)頁(yè),在其HEAD部分編寫一段腳本代碼,當(dāng)該頁(yè)被加載時(shí)顯示一個(gè)輸入對(duì)話框,提示讓訪問(wèn)者輸入姓名,單擊“確定”按鈕后,在對(duì)話框中顯示對(duì)該訪問(wèn)者的歡迎信息。
提示:在網(wǎng)頁(yè)的HEAD部分編寫一個(gè)過(guò)程(如名稱為Welcome),通過(guò)InputBox函數(shù)輸入用戶信息,通過(guò)MsgBox函數(shù)顯示歡迎信息,并將BODY標(biāo)記的onLoad屬性設(shè)置為該過(guò)程名稱,以便該頁(yè)被加載時(shí)執(zhí)行該過(guò)程。
2. 編寫一個(gè)網(wǎng)頁(yè),其顯示效果如圖3.18所示。在上面兩個(gè)文本框中分別輸入一個(gè)整數(shù),要求兩者大小不相等。當(dāng)單擊“顯示結(jié)果”按鈕時(shí),在最下面的文本框中顯示兩者中的較小數(shù);當(dāng)單擊“清除結(jié)果”按鈕時(shí),將三個(gè)文本框中的內(nèi)容清空;如果未同時(shí)在上面兩個(gè)文本框中輸入內(nèi)容而單擊“顯示結(jié)果”按鈕,則顯示一個(gè)對(duì)話框,提示用戶在上面兩個(gè)文本框中分別輸入一個(gè)整數(shù)。
提示:“顯示結(jié)果”按鈕為普通按鈕,在其onClick事件過(guò)程中編寫腳本,以實(shí)現(xiàn)所需操作;“清除結(jié)果”按鈕為重置按鈕。為了保證比較結(jié)果的正確性,應(yīng)使用CInt或CLng函數(shù)轉(zhuǎn)換文本框的值。
3. 編寫一個(gè)網(wǎng)頁(yè),用于求解一元二次方程ax2 + bx + c = 0,頁(yè)面效果如圖3.19所示。在文本框中分別輸入二次項(xiàng)系數(shù)a、一次項(xiàng)系數(shù)b和常數(shù)項(xiàng)c的值,然后單擊“求解”按鈕,此時(shí)根據(jù)二次項(xiàng)系數(shù)a和判別式Δ= b2 - 4ac的取值情況分別進(jìn)行不同的處理:如果a = 0,則在“求解情況”框中顯示“二次項(xiàng)系數(shù)不能等于0。”;如果Δ> 0,則“求解情況”框中顯示“方程有兩個(gè)相異的實(shí)數(shù)根。”,并在“x1 =”和“x2 =”框中顯示這兩個(gè)根;如果Δ= 0,則在“求解情況”框中顯示“方程有兩個(gè)相等的實(shí)數(shù)根。”,并在“x1 =”和“x2 =”框中顯示此根;如果Δ< 0,則在“求解情況”框中顯示“方程沒(méi)有實(shí)數(shù)根。”。如果單擊“重置”按鈕,則清除所有文本框的內(nèi)容。
提示:為了便于安排表單控件的布局,可以考慮將控件放置在表格中;“求解”按鈕為一普通按鈕,在其onClick事件過(guò)程中編寫腳本來(lái)實(shí)現(xiàn)所需操作;“重置”按鈕的TYPE屬性應(yīng)為submit。
4. 編寫一個(gè)網(wǎng)頁(yè),該頁(yè)上部列出一些專業(yè)的編號(hào)和名稱,下部有一個(gè)文本框和一個(gè)按鈕,顯示結(jié)果如圖3.20所示。如果在文本框中輸入一個(gè)專業(yè)編號(hào)(1-6)并單擊“確定”按鈕,則出現(xiàn)一個(gè)對(duì)話框,顯示當(dāng)前所選擇的專業(yè)名稱;如果輸入的專業(yè)編號(hào)大于6,則顯示所選擇的是其他專業(yè)。
提示:專業(yè)列表用一個(gè)有序列表來(lái)顯示;“確定”按鈕為一普通按鈕,在其onClick事件過(guò)程中編寫腳本,并使用Select Case語(yǔ)句來(lái)實(shí)現(xiàn)所需操作。
5. 編寫一個(gè)網(wǎng)頁(yè),用于計(jì)算和輸出101~1 000之間所有奇數(shù)之和。
提示:在網(wǎng)頁(yè)中添加一個(gè)普通按鈕,在其onClick事件過(guò)程中編寫腳本,使用Do...Loop或For...Next語(yǔ)句實(shí)現(xiàn)求和操作,并通過(guò)MsgBox函數(shù)來(lái)顯示計(jì)算結(jié)果。
6. 編寫一個(gè)網(wǎng)頁(yè),利用于下面的公式來(lái)計(jì)算自然數(shù)e的值,直到最后一項(xiàng)小于10-4為止。
提示:在網(wǎng)頁(yè)中添加一個(gè)普通按鈕,在其onClick事件過(guò)程中編寫腳本,使用While...Wend語(yǔ)句實(shí)現(xiàn)所需操作,并通過(guò)MsgBox函數(shù)來(lái)顯示計(jì)算結(jié)果。
7. 編寫一個(gè)網(wǎng)頁(yè),其顯示效果如圖3.21所示。要求在單擊“顯示結(jié)果”按鈕時(shí),將所有表單控件的名稱和當(dāng)前值顯示在滾動(dòng)文本框中。
提示:“顯示結(jié)果”按鈕是一個(gè)普通按鈕,在其onClick事件過(guò)程中編寫腳本,并通過(guò)For Each...Next語(yǔ)句來(lái)測(cè)試第一個(gè)表單控件的名稱和當(dāng)前值,代碼如下:
Sub btnShow_onClick
' Elements表示由表單上所有控件構(gòu)成的集合
For Each k In Document.Form1.Elements
s = s & k.Name & "=" & k.Value & vbCrLf
Next
' txtResult為滾動(dòng)文本框的名稱
Form1.txtResult.Value = s
End Sub
8. 編寫一個(gè)網(wǎng)頁(yè),用于計(jì)算兩個(gè)整數(shù)的最大公約數(shù),其顯示效果如圖3.22所示。在上面的兩個(gè)文本框中分別輸入一個(gè)整數(shù),然后單擊“顯示結(jié)果”按鈕,使這兩個(gè)整數(shù)顯示在下面的文本框中。
提示:“顯示結(jié)果”按鈕為普通按鈕,在其onClick事件過(guò)程中編寫腳本,并調(diào)用一個(gè)自定義函數(shù)來(lái)實(shí)現(xiàn)計(jì)算最大公約數(shù)的功能。
9. 編寫一個(gè)網(wǎng)頁(yè),其顯示效果如圖3.23所示。如果單擊“打開(kāi)新網(wǎng)頁(yè)”按鈕,則在另一個(gè)窗口中打開(kāi)指定的網(wǎng)頁(yè);如果單擊“關(guān)閉當(dāng)前窗口”按鈕,則出現(xiàn)一個(gè)對(duì)話框,提示關(guān)閉當(dāng)前窗口,單擊“是”,即關(guān)閉當(dāng)前窗口。
提示:“打開(kāi)新網(wǎng)頁(yè)”和“關(guān)閉當(dāng)前窗口”兩個(gè)按鈕均為普通按鈕,在它們的onClick事件過(guò)程中編寫腳本,并調(diào)用Window對(duì)象的有關(guān)方法來(lái)實(shí)現(xiàn)所需操作。
10. 編寫一個(gè)網(wǎng)頁(yè),利用Window對(duì)象的有關(guān)方法實(shí)現(xiàn)在狀態(tài)欄顯示滾動(dòng)文本。
提示:用Window.Status屬性設(shè)置在狀態(tài)欄顯示的文本,用Window.SetTimeout方法設(shè)置兩次過(guò)程調(diào)用之間的時(shí)間間隔。
第四章 使用ASP對(duì)象
要求:使用ASP對(duì)象
要求掌握5個(gè)ASP內(nèi)置對(duì)象的使用方法,即Response對(duì)象、Request對(duì)象、Server對(duì)象、Session對(duì)象和Application對(duì)象。學(xué)習(xí)這一章時(shí),關(guān)鍵掌握這些ASP內(nèi)置對(duì)象的一個(gè)重要特征,即不用創(chuàng)建便可以在腳本中使用。
1. 編寫一個(gè)ASP頁(yè),以不同的字號(hào)顯示“ASP動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)”。
提示:用For…Next語(yǔ)句實(shí)現(xiàn)所要求的功能,將要顯示的內(nèi)容放置在和標(biāo)記之間,以循環(huán)變量的值作為FONT標(biāo)記的SIZE屬性值。
2. 編寫一個(gè)ASP頁(yè),使用Response.Write方法向客戶端瀏覽器輸出一個(gè)完整的HTML文件。
提示:使用Response.Write方法向客戶端瀏覽器輸出數(shù)據(jù)時(shí),如果參數(shù)值包含字符組合 %>,則使用轉(zhuǎn)義序列 %\> 來(lái)代替。Web服務(wù)器在處理腳本時(shí),將轉(zhuǎn)換這一轉(zhuǎn)義序列。要輸出一個(gè)完整的HTML文件,既可以用Response.Write方法逐行輸出,也可以將所有內(nèi)容放在一個(gè)字符串中,利用Split函數(shù)從字符串中返回?cái)?shù)組并使用循環(huán)語(yǔ)句來(lái)輸出所有數(shù)組元素。
3. 編寫兩個(gè)ASP文件,功能都是將整數(shù)1~5 000輸出到客戶端瀏覽器上并計(jì)算所用時(shí)間,要求在一個(gè)文件中將Buffer屬性為設(shè)置True,在另一個(gè)文件中將Buffer屬性設(shè)置為False。
提示:在.asp文件中,設(shè)置Buffer屬性的語(yǔ)句應(yīng)該放在命令后面的第一行。如果在HTML或腳本輸出之后更改Buffer屬性值,則會(huì)出現(xiàn)錯(cuò)誤。
4. 編寫一個(gè)靜態(tài)網(wǎng)頁(yè)和一個(gè)ASP動(dòng)態(tài)網(wǎng)頁(yè),在靜態(tài)網(wǎng)頁(yè)中包含著文本框、單選按鈕、復(fù)選框、提交按鈕和重置按鈕等控件,并且通過(guò)POST方法提交來(lái)用戶名、E-mail、性別以及個(gè)人愛(ài)好等數(shù)據(jù),在動(dòng)態(tài)網(wǎng)頁(yè)中通過(guò)Form集合檢索這些數(shù)據(jù)并顯示出來(lái)。
提示:在靜態(tài)網(wǎng)頁(yè)中,用戶名和E-mail用文本框來(lái)輸出,性別通過(guò)單選按鈕來(lái)選擇,個(gè)人愛(ài)好則通過(guò)復(fù)選框?yàn)檫x擇。在動(dòng)態(tài)網(wǎng)頁(yè)中,用Request.Form("控件名稱")形式來(lái)檢索所提交的表單數(shù)據(jù)。
5. 編寫一個(gè)ASP動(dòng)態(tài)網(wǎng)頁(yè),通過(guò)使用Cookie制作一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)計(jì)數(shù)器。
提示:在動(dòng)態(tài)網(wǎng)頁(yè)中,用Request.Cookies集合檢索用于保存訪問(wèn)次數(shù)的Cookie值,若該值為空,則通過(guò)Response.Cookies集合將它設(shè)置為1,否則將它加1。
6. 編寫一個(gè)ASP動(dòng)態(tài)網(wǎng)頁(yè),用于顯示當(dāng)前網(wǎng)頁(yè)的虛擬路徑、發(fā)出請(qǐng)求的客戶端的IP地址、服務(wù)器的名稱、所用HTTP協(xié)議的版本號(hào)以及服務(wù)器軟件版本號(hào)。
提示:通過(guò)Request.ServerVariables ("服務(wù)器環(huán)境變量名")格式來(lái)讀取所指定的各項(xiàng)信息。讀取當(dāng)前網(wǎng)頁(yè)的虛擬路徑時(shí),服務(wù)器環(huán)境變量名為SCRIPT_NAME;讀取客戶端的IP地址時(shí),服務(wù)器環(huán)境變量為REMOTE_ADDR;讀取服務(wù)器的名稱時(shí),服務(wù)器環(huán)境變量名為SERVER_NAME;讀取HTTP協(xié)議的版本號(hào)時(shí),服務(wù)器環(huán)境變量名為SERVER_PROTOCOL;讀取服務(wù)器軟件的版本號(hào)時(shí),服務(wù)器環(huán)境變量名為SERVER_SOFTWARE。
7. 編寫一個(gè)HTML靜態(tài)網(wǎng)頁(yè)和一個(gè)ASP動(dòng)態(tài)網(wǎng)頁(yè),在靜態(tài)網(wǎng)頁(yè)中創(chuàng)建一個(gè)登錄表單,用于提交用戶名和密碼,在動(dòng)態(tài)網(wǎng)頁(yè)中檢查是否輸入了用戶名和密碼,如果沒(méi)有輸入這些信息則重定向到靜態(tài)網(wǎng)頁(yè)中,如果已經(jīng)輸入了這些信息則顯示歡迎信息。
提示:在動(dòng)態(tài)網(wǎng)頁(yè)中通過(guò)Request.Form集合檢索所提交的用戶名和密碼,如果相應(yīng)的值均為空,則通過(guò)Response.Redirect或Server.Transfer方法轉(zhuǎn)換到靜態(tài)網(wǎng)頁(yè)上。
8. 編寫一個(gè)ASP動(dòng)態(tài)網(wǎng)頁(yè),用于顯示每個(gè)用戶的會(huì)話標(biāo)識(shí)和頁(yè)面被刷新的次數(shù)。
提示:用戶的會(huì)話標(biāo)識(shí)通過(guò)Session對(duì)象的SessionID屬性返回;頁(yè)面的刷新次數(shù)保存在一個(gè)會(huì)話變量中,若該變量的值為空串,則將其設(shè)置為1,否則將其加1。
9. 利用Internet信息服務(wù)管理單元?jiǎng)?chuàng)建一個(gè)基于ASP的應(yīng)用程序。
提示:選擇“開(kāi)始→程序→管理工具→Internet服務(wù)管理器”命令,然后在左側(cè)的“樹(shù)”窗格中右擊“默認(rèn)Web站點(diǎn)”并選擇“新建→虛擬目錄”命令,接著按照虛擬目錄創(chuàng)建向?qū)У奶崾静僮骷纯伞?/p>
10. 在global.asa文件中編寫應(yīng)用程序事件和會(huì)話事件的腳本,然后編寫一個(gè)ASP動(dòng)態(tài)網(wǎng)頁(yè),用于顯示目前在線人數(shù)。
提示:用一個(gè)應(yīng)用程序變量來(lái)保存目前在線人數(shù),在Application_OnStart事件中初始化該變量,在Session_OnStart事件中將該變量加1,在Session_OnEnd事件中將該變量減1。
第五章 使用ASP組件
要求:使用ASP組件
1. 使用內(nèi)容輪顯組件在ASP頁(yè)面上自動(dòng)輪換顯示一首詩(shī)、一幅圖像和一段視頻。
提示:在內(nèi)容列表文件中包含3個(gè)HTML內(nèi)容字符串條目,分別顯示一首詩(shī)、一幅圖像和一段視頻;在ASP頁(yè)中通過(guò)調(diào)用ContentRotator對(duì)象的ChooseContent方法從內(nèi)容列表文件中檢索一個(gè)HTML內(nèi)容字符串并將其顯示出來(lái)。
2. 使用廣告輪顯組件在ASP頁(yè)面上自動(dòng)輪換顯示3個(gè)廣告,它們各占用30%、30%和40%的顯示時(shí)間。
提示:在輪顯列表文件中包含3個(gè)廣告,其相對(duì)權(quán)值分別為3、3和4,在ASP頁(yè)面上通過(guò)調(diào)用廣告輪顯組件對(duì)象的GetAdvertisement方法從輪顯列表文件中獲取下一個(gè)廣告。
3. 使用內(nèi)容鏈接組件在ASP頁(yè)面上創(chuàng)建“上一頁(yè)”和“下一頁(yè)”鏈接。
提示:首先創(chuàng)建內(nèi)容鏈接列表文件,在該文件中包含要顯示的Web頁(yè)的列表;然后在ASP頁(yè)面中通過(guò)調(diào)用Nextlink對(duì)象的GetPreviousURL方法獲取鏈接列表文件中前一項(xiàng)的URL;通過(guò)調(diào)用GetPreviousDescription方法獲取內(nèi)容鏈接列表文件中前一項(xiàng)的描述文字;通過(guò)調(diào)用GetNextURL("Nextlink.txt")獲取內(nèi)容鏈接列表文件中下一項(xiàng)的URL;通過(guò)調(diào)用GetNextDescription方法內(nèi)容鏈接列表文件中下一個(gè)項(xiàng)的描述文字。
4. 使用頁(yè)面計(jì)數(shù)器組件顯示ASP頁(yè)面被瀏覽的次數(shù)。
提示:首先創(chuàng)建頁(yè)面計(jì)數(shù)器對(duì)象實(shí)例,然后通過(guò)調(diào)用該對(duì)象的PageHit使當(dāng)前ASP頁(yè)面的訪問(wèn)數(shù)加1,再通過(guò)調(diào)用該對(duì)象的Hits方法獲取當(dāng)前頁(yè)被打開(kāi)或刷新的次數(shù)。
5. 使用計(jì)數(shù)器組件創(chuàng)建一個(gè)投票系統(tǒng)。
提示:在global.asa文件中,用OBJECT標(biāo)記創(chuàng)建一個(gè)應(yīng)用程序作用域的數(shù)器組件對(duì)象實(shí)例;在ASP頁(yè)面中通過(guò)調(diào)用該對(duì)象的Increment方法使指定項(xiàng)目的選票數(shù)加1;通過(guò)該對(duì)象的Get方法獲取指定項(xiàng)目的當(dāng)前選票數(shù)。
6. 使用瀏覽器功能組件檢查客戶端瀏覽器的名稱和版本號(hào)。
提示:首先使用Server.CreateObject方法創(chuàng)建瀏覽器功能組件的對(duì)象實(shí)例,然后通過(guò)該對(duì)象的Browser屬性獲取瀏覽器名稱;通過(guò)該對(duì)象的Version屬性獲取瀏覽器的版本號(hào)。
7. 使用文件存取組件創(chuàng)建一個(gè)HTML網(wǎng)頁(yè),并通過(guò)單擊超鏈接打開(kāi)該網(wǎng)頁(yè)。
提示:首先創(chuàng)建FileSystemObject對(duì)象實(shí)例fso,然后通過(guò)調(diào)用fso對(duì)象的CreateTextFile方法創(chuàng)建一個(gè)文本文件并返回TextStream對(duì)象,并通過(guò)調(diào)用該對(duì)象的WriteLine方法寫入HTML代碼行;接著用A標(biāo)記創(chuàng)建一個(gè)指向該文件的超鏈接。
第六章 使用ADO對(duì)象
要求:使用ADO對(duì)象
要求通過(guò)ADO對(duì)象(Connection、Recordset、Command)來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。通過(guò)這些ADO對(duì)象不僅可以連接到Access和SQL Server等格式的數(shù)據(jù)庫(kù),而且可以將數(shù)據(jù)庫(kù)中的信息顯示在網(wǎng)頁(yè)上,還可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增刪改等操作。
1. 使用Connection對(duì)象通過(guò)OLE DB提供程序連接到Microsoft SQL Server示例數(shù)據(jù)庫(kù)pubs。
(1) 將連接信息保存在連接字符串中。
(2) 將連接信息保存數(shù)據(jù)鏈接文件中。
提示:對(duì)SQL Server數(shù)據(jù)庫(kù)創(chuàng)建OLE DB連接時(shí),可以將連接信息保存在連接字符串中,該字符串包含著以下5個(gè)參數(shù):PROVIDER參數(shù)指定OLE DB提供程序的名稱,對(duì)于SQL Server數(shù)據(jù)庫(kù),OLE DB提供程序名稱為SQLOLEDB;DATA SOURCE參數(shù)指定SQL Server數(shù)據(jù)庫(kù)服務(wù)器的名稱;UID參數(shù)指定連接中使用的SQL Server登錄標(biāo)識(shí);PWD參數(shù)指定SQL Server登錄密碼;DATABASE參數(shù)指定位于數(shù)據(jù)庫(kù)服務(wù)器上的一個(gè)指定數(shù)據(jù)庫(kù)(在本題中為pubs)。創(chuàng)建數(shù)據(jù)鏈接文件時(shí),首先在記事本創(chuàng)建一個(gè)擴(kuò)展名為.udl的文本文件,然后打開(kāi)該文件并利用“數(shù)據(jù)鏈接屬性”對(duì)話框?qū)τ嘘P(guān)屬性進(jìn)行設(shè)置,最后在連接字符串中使用FILE NAME參數(shù)來(lái)引用該文件。
2. 使用Connection對(duì)象通過(guò)ODCB驅(qū)動(dòng)程序連接到Microsoft SQL Server示例數(shù)據(jù)庫(kù)Northwind。
(1) 創(chuàng)建系統(tǒng)DSN,將連接信息保存在Windows注冊(cè)表中。
(2) 創(chuàng)建文件DSN,將連接信息在文本文件中。
(3) 將連接信息保存在字符串中,直接包含在ASP腳本代碼中。
提示:系統(tǒng)DSN和文件DSN均通過(guò)ODBC數(shù)據(jù)源管理器來(lái)創(chuàng)建,前者在連接字符串中用DSN參數(shù)來(lái)引用,后者在連接字符串中用FILEDSN參數(shù)來(lái)引用;如果將連接信息保存在字符串中,則應(yīng)在連接字符串中包含以下4個(gè)參數(shù):DRIVER參數(shù)指定所用的ODBC驅(qū)動(dòng)程序(本題中為{SQL Server}),UID和PWD給出用戶標(biāo)識(shí)和密碼,DATABASE參數(shù)指定要連接的數(shù)據(jù)庫(kù)(本題中為Northwind)。
3. 使用Connection對(duì)象通過(guò)OLE DB提供程序連接到Microsoft Access示例數(shù)據(jù)庫(kù)Northwin.mdb。
(1) 將連接信息保存在連接字符串中。
(2) 將連接信息保存數(shù)據(jù)鏈接文件中。
提示:通過(guò)OLE DB提供程序連接到Microsoft Access數(shù)據(jù)庫(kù)時(shí),連接字符串中應(yīng)包含PROVIDER和DATA SOURCE兩個(gè)參數(shù):前者指定連接數(shù)據(jù)庫(kù)所使用的OLE DB提供程序(在本題中為Microsoft.Jet.OLEDB.4.0),后者指定要連接的Access數(shù)據(jù)庫(kù)的完整路徑;數(shù)據(jù)鏈接文件在連接字符串中可以通過(guò)FILE NAME參數(shù)。
4. 使用Connection對(duì)象通過(guò)ODCB驅(qū)動(dòng)程序連接到Microsoft Access示例數(shù)據(jù)庫(kù)Northwin.mdb。
(1) 創(chuàng)建系統(tǒng)DSN,將連接信息保存在Windows注冊(cè)表中。
(2) 創(chuàng)建文件DSN,將連接信息在文本文件中。
(3) 將連接信息保存在字符串中,直接包含在ASP腳本代碼中。
提示:連接Microsoft Access數(shù)據(jù)庫(kù)時(shí),系統(tǒng)DSN和文件DSN均通過(guò)ODBC數(shù)據(jù)源管理器來(lái)創(chuàng)建,前者在連接字符串中用DSN參數(shù)來(lái)引用,后者在連接字符串中用FILEDSN參數(shù)來(lái)引用;如果將連接信息保存在字符串中,則應(yīng)在連接字符串中包含以下兩個(gè)參數(shù):DRIVER參數(shù)指定所使用的ODBC驅(qū)動(dòng)程序(本題中為{Microsoft Access Driver (*.mdb)}),使用DBQ參數(shù)指定要連接的Access數(shù)據(jù)庫(kù)。
5. 使用Connection對(duì)象完成下列操作:
(1) 創(chuàng)建一個(gè)SQL Server數(shù)據(jù)庫(kù),名稱為mydatabase。
(2) 在數(shù)據(jù)庫(kù)mydatabase中創(chuàng)建一個(gè)新表,名稱為mytable,包含user_id、user_name和password三個(gè)列,user_id為表的標(biāo)識(shí)列。
(3) 向mytable表中添加若干條記錄(用戶名不得重復(fù))。
(4) 對(duì)mytable表中的指定記錄進(jìn)行修改。
(5) 刪除mytable表中的指定記錄。
(6) 以表格形式顯示mytable表中的全部記錄。
提示:使用Connection對(duì)象的Execute方法還能夠執(zhí)行指定的SQL語(yǔ)句,從而完成創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建表、添加記錄、修改記錄、刪除記錄以及檢索記錄等操作,相應(yīng)的SQL語(yǔ)句分別為CREATE DATABASE語(yǔ)句、CREATE TABLE語(yǔ)句、INSERT語(yǔ)句、UPDATE語(yǔ)句、DELETE語(yǔ)句以及SELECT語(yǔ)句。
6. 連接到Microsoft SQL Server示例數(shù)據(jù)庫(kù)pubs,然后使用Recordset對(duì)象完成下列操作:
(1) 以表格形式顯示authors表中的記錄。要求每頁(yè)僅顯示一個(gè)作者的資料,并建立“第一頁(yè)”、“上一頁(yè)”、“下一頁(yè)”和“最后一頁(yè)”鏈接,通過(guò)這些鏈接可以在不同記錄之間移動(dòng)。
(2) 分頁(yè)顯示authors表中的記錄,要求每頁(yè)顯示五個(gè)作者的資料,并在頁(yè)面底部列出總頁(yè)數(shù)、當(dāng)前頁(yè)號(hào)和所有頁(yè)號(hào)(超鏈接),通過(guò)超鏈接可以在不同記錄組之間移動(dòng)。
(3) 按照作者編號(hào)從authors表中搜索作者。如果找到,在表格中列出作者資料,否則顯示“沒(méi)有找到符合條件的記錄!”。
(4) 從authors表中提取來(lái)自加利福尼亞州(即state列值為“CA”)的作者記錄,并將該記錄集保存到文件中,隨后從該文件中讀取記錄集,以表格形式顯示出來(lái)。
提示:利用Recordset對(duì)象的有關(guān)方法可以在不同記錄之間移動(dòng),即:調(diào)用MoveFirst方法移動(dòng)到記錄集內(nèi)的第一條記錄上,調(diào)用Move -1相對(duì)于當(dāng)前記錄向前移動(dòng)一行,調(diào)用Move 1相對(duì)于當(dāng)前記錄向后移動(dòng)一行,調(diào)用MoveLast移動(dòng)到記錄內(nèi)的最后一條記錄上;分頁(yè)顯示數(shù)據(jù)庫(kù)記錄時(shí),使用Recordset對(duì)象的PageSize屬性指定一頁(yè)中的記錄數(shù),使用PageCount屬性返回總頁(yè)數(shù),使用AbsolutePage屬性指定當(dāng)前記錄所在的頁(yè);使用Recordset對(duì)象的Find方法可以搜索記錄集內(nèi)滿足指定條件的記錄,如果條件符合,則記錄集的位置設(shè)置在找到的記錄上(EOF屬性值為False),否則位置將設(shè)置在記錄集的末尾(EOF屬性值為True);使用Recordset對(duì)象的Save方法可以將記錄集保存在文件中,隨后可以使用Open方法來(lái)恢復(fù)記錄集的內(nèi)容。
7. 連接到前面所創(chuàng)建的mydatabase數(shù)據(jù)庫(kù),然后使用Command對(duì)象和Parameters集合完成下列操作:
(1) 創(chuàng)建一個(gè)注冊(cè)頁(yè)面,允許網(wǎng)站訪問(wèn)者提交用戶名和密碼,并將這些數(shù)據(jù)保存到mytable表中。
(2) 創(chuàng)建一個(gè)修改密碼的頁(yè)面,允許用戶更改其密碼。
提示:使用Command對(duì)象添加記錄時(shí),可以將SQL INSERT語(yǔ)句作為CommandText的值,并使用問(wèn)號(hào)“?”來(lái)表示VALUES子句中的值,執(zhí)行命令時(shí)所需參數(shù)并通過(guò)相應(yīng)的Parameter對(duì)象來(lái)傳遞;使用Command對(duì)象添加記錄時(shí),可以將SQL UPDATE語(yǔ)句作為CommandText的值,并使用問(wèn)號(hào)“?”來(lái)表示SET子句和WHERE子句中的值,執(zhí)行命令時(shí)所需參數(shù)并通過(guò)相應(yīng)的Parameter對(duì)象來(lái)傳遞。
【網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)】相關(guān)文章:
給設(shè)計(jì)師的網(wǎng)頁(yè)動(dòng)畫設(shè)計(jì)基礎(chǔ)指南03-13
你知道網(wǎng)頁(yè)美工設(shè)計(jì)色彩基礎(chǔ)嗎?03-20
網(wǎng)頁(yè)設(shè)計(jì)課程03-08
網(wǎng)頁(yè)設(shè)計(jì)的步驟06-16
網(wǎng)頁(yè)設(shè)計(jì)配色技巧03-07
網(wǎng)頁(yè)設(shè)計(jì)制作要領(lǐng)02-27
網(wǎng)頁(yè)字體設(shè)計(jì)的技巧03-18
網(wǎng)頁(yè)版式設(shè)計(jì)構(gòu)成11-15
網(wǎng)頁(yè)美工必備的知識(shí):網(wǎng)頁(yè)設(shè)計(jì)命名規(guī)范03-18