ASP網(wǎng)頁(yè)數(shù)據(jù)庫(kù)第章ppt課件_第1頁(yè)
ASP網(wǎng)頁(yè)數(shù)據(jù)庫(kù)第章ppt課件_第2頁(yè)
ASP網(wǎng)頁(yè)數(shù)據(jù)庫(kù)第章ppt課件_第3頁(yè)
ASP網(wǎng)頁(yè)數(shù)據(jù)庫(kù)第章ppt課件_第4頁(yè)
ASP網(wǎng)頁(yè)數(shù)據(jù)庫(kù)第章ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩50頁(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、11.1 課前導(dǎo)讀11.2 課堂教學(xué)11.3 上機(jī)練習(xí)11.4 課后作業(yè)11.1 課前導(dǎo)讀 1. 網(wǎng)站數(shù)據(jù)庫(kù)化 2. 使用ADO訪問(wèn)數(shù)據(jù)庫(kù) 3. ADO的特點(diǎn) 4. 示例數(shù)據(jù)庫(kù) 11.1 課前導(dǎo)讀 作為一種既易于使用又可擴(kuò)展的技術(shù),ADO可以用于向網(wǎng)頁(yè)添加數(shù)據(jù)庫(kù)訪問(wèn)。使用ADO編寫(xiě)的應(yīng)用程序可以存取在Internet上任何地方的資源,例如,你可以在家里通過(guò)瀏覽器填寫(xiě)購(gòu)物單,去購(gòu)買(mǎi)遠(yuǎn)在千里之外的物品。1. 網(wǎng)站數(shù)據(jù)庫(kù)化 將網(wǎng)站數(shù)據(jù)庫(kù)化,就是使用數(shù)據(jù)庫(kù)來(lái)管理整個(gè)網(wǎng)站。只要更新數(shù)據(jù)庫(kù)的內(nèi)容,網(wǎng)站的內(nèi)容就會(huì)被自動(dòng)更新。將網(wǎng)站數(shù)據(jù)庫(kù)化的好處如下: 可以自動(dòng)更新網(wǎng)頁(yè)。采用數(shù)據(jù)庫(kù)管理,只要更新數(shù)據(jù)庫(kù)的數(shù)據(jù),

2、網(wǎng)頁(yè)內(nèi)容就會(huì)自動(dòng)得到更新,過(guò)期的網(wǎng)頁(yè)也可以被自動(dòng)拿掉。 加強(qiáng)搜尋功能。將網(wǎng)站的內(nèi)容儲(chǔ)存在數(shù)據(jù)庫(kù)中,可以利用數(shù)據(jù)庫(kù)提供的強(qiáng)大搜尋功能,從多個(gè)方面搜尋網(wǎng)站的數(shù)據(jù)。 可以實(shí)現(xiàn)各種基于Web數(shù)據(jù)庫(kù)的應(yīng)用。使用者只要使用瀏覽器,就可以通過(guò)Internet或Intranet內(nèi)部網(wǎng)絡(luò),存取Web數(shù)據(jù)庫(kù)的數(shù)據(jù)??梢允褂迷趯W(xué)校教學(xué)、醫(yī)院、商業(yè)、銀行、股市、運(yùn)輸旅游等各種應(yīng)用上。例如銀行余額查詢(xún)、在線購(gòu)書(shū)、在線查詢(xún)、在線預(yù)定機(jī)票、在線醫(yī)院預(yù)約掛號(hào)、在線電話(huà)費(fèi)查詢(xún)、在線股市買(mǎi)賣(mài)交易、在線學(xué)校注冊(cè)選課,以及在線擇友等。2. 使用ADO訪問(wèn)數(shù)據(jù)庫(kù) 目前,Microsoft對(duì)應(yīng)用程序訪問(wèn)各種各樣的數(shù)據(jù)源所使用的方法是OL

3、E DB,OLE DB是一套組件對(duì)象模型COM接口,但它是相當(dāng)復(fù)雜的。連接應(yīng)用程序與OLE DB的橋梁就是ADO。 可以使用ADO編寫(xiě)簡(jiǎn)潔和可擴(kuò)展的腳本,連接到與OLE DB兼容的數(shù)據(jù)源,如數(shù)據(jù)庫(kù)、電子表格、順序數(shù)據(jù)文件或電子郵件目錄。使用ADO的對(duì)象模型,可以輕松地使用VBScript或JScript等腳本語(yǔ)言訪問(wèn)這些接口,并將數(shù)據(jù)庫(kù)功能添加到您的Web應(yīng)用程序中。另外,還可以使用ADO訪問(wèn)與開(kāi)放式數(shù)據(jù)庫(kù)互連ODBC兼容的數(shù)據(jù)庫(kù)。 ADO可以使用VBScript、JavaScript腳本語(yǔ)言來(lái)控制數(shù)據(jù)庫(kù)的存取以及輸出查詢(xún)結(jié)果。3. ADO的特點(diǎn) ADO可以用來(lái)建造客戶(hù)/服務(wù)器結(jié)構(gòu)及Web的應(yīng)

4、用,它具有以下的特點(diǎn): 支持批處理(Batch Updating),可以分批處理客戶(hù)端提出的請(qǐng)求。 支持存儲(chǔ)過(guò)程(Stored Procedures),可使用in/out參數(shù)給存儲(chǔ)過(guò)程輸入及輸出值,并可以取得存儲(chǔ)過(guò)程的返回值。 可以使用存儲(chǔ)過(guò)程或批處理SQL指令,傳回多組記錄集的功能。4. 示例數(shù)據(jù)庫(kù) 雖然可以使用多種數(shù)據(jù)庫(kù)系統(tǒng)來(lái)從事ASP網(wǎng)頁(yè)數(shù)據(jù)庫(kù)的設(shè)計(jì),但是由于Microsoft Access屬于Microsoft Office家族,取得較為容易,且界面與Office家族一致,使用容易,因此本教程采用Microsoft Access進(jìn)行網(wǎng)頁(yè)數(shù)據(jù)庫(kù)的設(shè)計(jì)。 本課的示例數(shù)據(jù)庫(kù)文件rsgl.md

5、b中包含的“職工工資表的結(jié)構(gòu)見(jiàn)表11-1。 表11-1 “職工工資表的結(jié)構(gòu)11.2 課堂教學(xué) 11.2.1 ADO的概念 11.2.2 訪問(wèn)數(shù)據(jù)庫(kù)11.2.1 ADO的概念 1. ADO對(duì)象模型 2. Connection對(duì)象 3. Command對(duì)象 4. Recordset對(duì)象1. ADO對(duì)象模型 ADO對(duì)象模型包括7個(gè)對(duì)象和3個(gè)集合,如圖11-1所示。其中對(duì)象及集合的說(shuō)明見(jiàn)表11-1。表11-1 ADO對(duì)象描述表11-2 ADO集合描述 說(shuō)明:在ADO對(duì)象模型中最為重要的對(duì)象是三個(gè)一般對(duì)象:Connection對(duì)象、Command對(duì)象和Recordset對(duì)象,通過(guò)這三個(gè)對(duì)象,可以方便地建

6、立數(shù)據(jù)庫(kù)連接,執(zhí)行SQL查詢(xún)及存取查詢(xún)的的結(jié)果。ConnectionRecordsetCommandErrorsFieldsFieldPrametersPrametersError圖11-1 ADO對(duì)象模型2. Connection對(duì)象 ASP使用ADO對(duì)各種數(shù)據(jù)源進(jìn)行各種操作,其中,Connection對(duì)象是必不可少的,Connection對(duì)象可以用來(lái)在應(yīng)用程序和數(shù)據(jù)庫(kù)中建立一條數(shù)據(jù)傳輸連線,在這個(gè)基礎(chǔ)之上可以使用Command對(duì)象及Recordse對(duì)象來(lái)對(duì)Connection對(duì)象所連接的數(shù)據(jù)庫(kù)進(jìn)行插入刪除、更新和查詢(xún)等操作。同撥打電話(huà)一樣,建立一個(gè)Connection對(duì)象就像是拿起話(huà)筒,打

7、開(kāi)一個(gè)Connection對(duì)象類(lèi)似于撥號(hào),而使用Command對(duì)象及Recordse對(duì)象已經(jīng)是在用這條線路通話(huà)了。 Connection對(duì)象的常用屬性見(jiàn)表11-3。表11-3 Connection對(duì)象的常用屬性 Connection對(duì)象的常用方法見(jiàn)表11-4。表11-4 Connection對(duì)象的方法及描述 下面對(duì)部分方法進(jìn)行詳細(xì)說(shuō)明。 Open方法:建立一個(gè)與數(shù)據(jù)源的連接對(duì)象,打開(kāi)與數(shù)據(jù)源的連接。其語(yǔ)法格式為:Connobject.Open connectionstring, UserId, Password 其中:Connectstring為可選參數(shù),它是一個(gè)字符串變量,包含鏈接的信息。用

8、法參見(jiàn)Conectionstring屬性。 UserId為可選參數(shù),它是一個(gè)字符串變量,包含建立連接時(shí)訪問(wèn)數(shù)據(jù)庫(kù)使用的用戶(hù)名稱(chēng)。 Password為可選參數(shù),它是一個(gè)字符串變量,包含建立連接時(shí)訪問(wèn)數(shù)據(jù)庫(kù)使用的密碼。 Close方法:關(guān)閉與數(shù)據(jù)源的連接,并且釋放與連接有關(guān)的系統(tǒng)資源。其語(yǔ)法格式為:Connobject.close 其中:Connobject為已經(jīng)創(chuàng)建的Connection對(duì)象。 使用Close方法關(guān)閉Connection對(duì)象,但沒(méi)有從內(nèi)存中刪除該對(duì)象。因此一個(gè)關(guān)閉的connection對(duì)象還 可 以 用 o p e n 方 法 打 開(kāi) 而 不 必 再 次 創(chuàng) 建 一 個(gè)conne

9、ction對(duì)象。此外,在使用close方法關(guān)閉連接時(shí),也將關(guān)閉以此連接相關(guān)的所有活動(dòng)的recoordset對(duì)象。但是,與此連接相關(guān)的command對(duì)象將不受影響,只不過(guò)command對(duì)象不再參與這個(gè)連接。 為了釋放connection對(duì)象所占用的所有資源,可以用下面的方法:Set Connobject = nothing Execute方法:執(zhí)行SQL命令或存儲(chǔ)過(guò)程,以實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的通訊。其語(yǔ)法為: 有返回記錄的格式:Set Rs = Connobject.Execute(CommandText, ReccordAffected, Options) 無(wú)返回記錄的格式:Connobject.Ex

10、ecute CommandText, ReccordAffected, Options 其中:Rs為創(chuàng)建的Recordsed對(duì)象;Connobject為已經(jīng)創(chuàng)建的Connection對(duì)象。 CommandType是一個(gè)字符串,它包含一個(gè)表名,或某個(gè)將被執(zhí)行的SQL語(yǔ)句;ReccordAffected為可選參數(shù),返回此次操作所影響的記錄數(shù)。Options為可選參數(shù),用來(lái)指定參數(shù)的CommandText參數(shù)的性質(zhì),即用來(lái)指定ADO如何解釋CommandText參數(shù)的參數(shù)值,其取值與意義見(jiàn)表11-5。表11-5 Options參數(shù)的取值及意義3. Command對(duì)象 Command對(duì)象用來(lái)定義數(shù)據(jù)庫(kù)

11、的查詢(xún)動(dòng)作,這個(gè)查詢(xún)一般采用SQL語(yǔ)句,大部分?jǐn)?shù)據(jù)庫(kù)都會(huì)支持SQL語(yǔ)言解釋。通過(guò)和SQL Server的查詢(xún)及存儲(chǔ)過(guò)程的良好結(jié)合,Command對(duì)象有更強(qiáng)大的數(shù)據(jù)庫(kù)訪問(wèn)能力,無(wú)論是對(duì)數(shù)據(jù)庫(kù)的插入、更新和刪除這類(lèi)無(wú)需返回結(jié)果集的操作,還是對(duì)Select查詢(xún)這樣需返回結(jié)果集的操作都一樣簡(jiǎn)單。 Command對(duì)象的常用屬性見(jiàn)表11-6。表11-6 Command對(duì)象的屬性 說(shuō)明:CommandType屬性指示CammandText屬性中設(shè)定的“命令字符串的類(lèi)型,即用來(lái)指ADO如何解釋CammandText參數(shù)的參數(shù)值,它的取值與意義與表11-5中Options參數(shù)的取值及意義相同。 Command對(duì)

12、象的常用方法有Execute方法,用來(lái)運(yùn)行CommandText屬性所設(shè)定的SQL查詢(xún)、SQL說(shuō)明命令或存儲(chǔ)過(guò)程,以實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的通訊。其語(yǔ)法為: 有返回記錄的格式:Set Rs = Comm. Execute(RecordsAffected, Parameters, Options) 無(wú)返回記錄的格式:Comm.Execute RecordsAfiected. Parameters, Options 其中:Rs為創(chuàng)建的Recordsed對(duì)象;Comm為已經(jīng)創(chuàng)建的Command對(duì)象。 RecordAfiected為可選參數(shù),返回此次操作所影響的記錄數(shù)。Parameters為可選參數(shù),表示一個(gè)S

13、QL語(yǔ)句的參數(shù)集合。Options為可選參數(shù),用來(lái)指定ADO如何解釋CommandText參數(shù)的參數(shù)值,它的取值與意義與表11-5中Options參數(shù)的取值及意義相同。4. Recordset對(duì)象 Recordset對(duì)象對(duì)應(yīng)著Command對(duì)象的查詢(xún)返回結(jié)果,或者是直接建立的一個(gè)帶查詢(xún)的結(jié)果集。它把從數(shù)據(jù)庫(kù)內(nèi)查詢(xún)到的結(jié)果封裝在一起,并提供簡(jiǎn)單快捷的方式去訪問(wèn)每一條記錄內(nèi)每一字段的數(shù)據(jù),在后面的章節(jié)我們會(huì)詳細(xì)去了解這些方式。 R e c o r d s e t 對(duì) 象 實(shí) 際 上 是 依 附 于Connection對(duì)象和Command對(duì)象之上的。通過(guò)建立及開(kāi)啟一個(gè)Connection對(duì)象,可以與

14、我們關(guān)心的數(shù)據(jù)庫(kù)建立連線;通過(guò)使用Command對(duì)象,則可以告訴數(shù)據(jù)庫(kù)我們想要做什么:是插入一條記錄,還是查找符合條件的記錄;通過(guò)使用Recordset對(duì)象,則可以方便自如地操作Command對(duì)象返回的結(jié)果。這三個(gè)對(duì)象中的每個(gè)都是必要的,缺一不可。 (1) Recordset對(duì)象的屬性 Recordset對(duì)象的常用屬性見(jiàn)表11-7。表11-7 Recordset對(duì)象的常用屬性 說(shuō)明: CursorType屬性指定RecordSet對(duì)象所使用的光標(biāo)類(lèi)型。不同的光標(biāo)類(lèi)型決定了對(duì)RecordSet所能做的操作。共有四種光標(biāo)類(lèi)型:0 - 前滾光標(biāo)(ForwardOnlyCursor),光標(biāo)只能向前移動(dòng)

15、,執(zhí)行效率高 , 是 C u r s o r 的 默 認(rèn) 值 ; 1 - 鍵 盤(pán) 光 標(biāo)(KeysetCursor),光標(biāo)可向前向后移動(dòng),RecordSet記錄集同步反映自它創(chuàng)建后其他用戶(hù)所作的修改和刪除,但卻不能同步反映自它創(chuàng)建后其他用戶(hù)新增加的記錄;2 - 動(dòng)態(tài)光標(biāo)(DynamicCursor),光標(biāo)可向前向后移動(dòng),任何時(shí)候RecordSet記錄集都同步反映其他用戶(hù)的任何操作;3 - 靜態(tài)光標(biāo)(StaticCursor),光標(biāo)可向前向后移動(dòng),自創(chuàng)建后無(wú)法同步反映其他用戶(hù)所做的任何操作,它的功能簡(jiǎn)單但消耗資源少。 LockType屬性表示編輯時(shí)記錄的鎖定類(lèi)型。它決定了當(dāng)不止一個(gè)用戶(hù)試圖同時(shí)改

16、變一個(gè)記錄時(shí),RecordSet如何處理數(shù)據(jù)記錄。它的取值有:0 - 只讀鎖定,記錄只讀,不能更新RecordSet,為L(zhǎng)ockType的默認(rèn)值;1 - 悲觀鎖定,編輯記錄開(kāi)始立刻鎖定,直到提交給數(shù)據(jù)提供者;2 - 樂(lè)觀鎖定,一次鎖定一條記錄,只有調(diào)用Update方法提交數(shù)據(jù)時(shí)才鎖定記錄;3 - 樂(lè)觀的批量更新,允許同時(shí)更新多條記錄。 Filter屬性用來(lái)設(shè)定一個(gè)過(guò)濾條件,以便對(duì)RecordSet記錄進(jìn)行過(guò)濾。使用的優(yōu)點(diǎn)是可以在已經(jīng)存在的RecordSet對(duì)象上進(jìn)一步過(guò)濾出所需的記錄。但這種方式增加了系統(tǒng)的開(kāi)銷(xiāo)。它有兩種使用方式: 方式1:使用關(guān)系表達(dá)式,例如:Rs.Filter = bh 3

17、0 其中Rs是已經(jīng)創(chuàng)建的RecordSet對(duì)象;bh是RecordSet對(duì)象的字段數(shù)值型)。 方式2:使用準(zhǔn)則常量:0 - 清除以前的Filter,允許看見(jiàn)所有記錄;1 - 只允許查看已修改但未提交的記錄;2 - 允許查看最后刪除、Resync、批量更新、或刪除批量方式所影響的記錄;3 - 允許查看數(shù)據(jù)庫(kù)最后讀取結(jié)果的數(shù)據(jù)。例如:Rs.Filter = 1 可以實(shí)現(xiàn)更新整個(gè)批量記錄之前只顯示用戶(hù)修改的記錄,使用戶(hù)在提交數(shù)據(jù)之前能夠進(jìn)行檢查。 BookMark屬性用來(lái)存儲(chǔ)當(dāng)前記錄的位置。并非每一個(gè)數(shù)據(jù)提供者都支持這個(gè)屬性。當(dāng)創(chuàng)建一個(gè)允許使用BookMark屬性的RecordSet對(duì)象時(shí),給每個(gè)記

18、錄都標(biāo)上一個(gè)獨(dú)一無(wú)二的BookMark,利用BookMark可以返回訪問(wèn)過(guò)的記錄。 Status屬性對(duì)于多用戶(hù)連接管理特別有用,通過(guò)該屬性可以看出更新記錄的失敗原因。它的返回值和意義如表11-8所示。表11-8 Status屬性的值和意義 (2) RecordSet對(duì)象的方法 RecordSet對(duì)象的方法及意義見(jiàn)表11-9。表11-9 RecordSet對(duì)象的方法及意義 說(shuō)明: Open方法:打開(kāi)一個(gè)RecordSet對(duì)象。其語(yǔ)法格式為:Rs.OpenSource, ActiveConnection, CursorType, LockType, Option 其中:Rs為已經(jīng)創(chuàng)建的Record

19、Set對(duì)象;Source為可選參數(shù),可以是一個(gè)Command對(duì)象名、SQL字符串存儲(chǔ)過(guò)程或數(shù)據(jù)庫(kù)的表名;ActiveConnection參見(jiàn)ActiveConnection屬性;CursorType是RecordSet對(duì)象所使用的光標(biāo)類(lèi)型,用法參見(jiàn)CursorType屬性;LockTypec是編輯RecordSet對(duì)象記錄時(shí)所使用的鎖定類(lèi)型,用法參見(jiàn)LockType屬性;Options指示數(shù)據(jù)提供者如何處理Source的內(nèi)容類(lèi)型,它的取值與意義見(jiàn)表11-5。 使用Close方法關(guān)閉RecordSet對(duì)象,并不從內(nèi)存中刪除該對(duì)象,只是無(wú)法讀取其中的數(shù)據(jù),但仍然可以讀取它的屬性。因此一個(gè)關(guān)閉的Re

20、ccordSet對(duì)象還可以用Open方法打開(kāi)并保持其原有屬性。如果正在進(jìn)行編輯更新數(shù)據(jù)的操作,在調(diào)用Close方法前必須先調(diào)用Update或CancelUpdate方法,否則將會(huì)出現(xiàn)錯(cuò)誤。如果以批量模式更新數(shù)據(jù)記錄(Reccordset的LockType屬性設(shè)為3),那么對(duì)緩沖區(qū)數(shù)據(jù)的修改將全部丟失。另外,使用Clone方法復(fù)制一個(gè)已經(jīng)打開(kāi)的RecordSet對(duì)象,調(diào)用Close方法不影響任何復(fù)制的RecordSet對(duì)象。 用下面的命令可以釋放RecordSet對(duì)象所占用的所有資源:set Rs = nothing Move方法用于把記錄指針指向指定的記錄。其語(yǔ)法格式為:Move n , st

21、art 其中n為要移動(dòng)的記錄數(shù),取正時(shí)表示向前(下)挪動(dòng),取負(fù)時(shí)表示向后(上)挪動(dòng);start是可選參數(shù),表示移動(dòng)的起點(diǎn)。 使用Move、MoveFirst、MoveLast、MovePrevious、MoveNext方法移動(dòng)記錄指針時(shí),需要注意RecordSet對(duì)象的光標(biāo)類(lèi)型。如“前滾光標(biāo)限制了記錄指針只能向前移動(dòng)。 GetRows方法從一個(gè)RecordSet對(duì)象讀取一行或多行記錄到一個(gè)數(shù)組中,一般用來(lái)讀取大量的數(shù)據(jù)。其語(yǔ)法格式為:Myarray = Rs.GetRows(rows, start, fields) 其中Myarray為目標(biāo)數(shù)組名;Rs為已經(jīng)創(chuàng)建的RecordSet對(duì)象;Row

22、s為返回?cái)?shù)組的行數(shù);start為讀取數(shù)據(jù)的起點(diǎn)(書(shū)簽);Fields為RecordSet的字段。 AddNew方法用于增加一條空紀(jì)錄。調(diào)用該方法時(shí)在RecordSet對(duì)象中增加一個(gè)新行,并將指針移到行首以準(zhǔn)備保存新數(shù)據(jù)。該方法一般和Update方法相搭配共同完成數(shù)據(jù)更新的任務(wù)。不過(guò)這種方法很消耗資源、效率最低,最好用SQL語(yǔ)句來(lái)實(shí)現(xiàn)數(shù)據(jù)更新。 Delete方法用于刪除當(dāng)前記錄。當(dāng)RecordSet工作在批量方式時(shí),可實(shí)現(xiàn)批量刪除。不過(guò)該方法非常消耗系統(tǒng)資源,效率非常低。其語(yǔ)法格式為:Delete value 其中value = 1默認(rèn)值表示該方法只刪除當(dāng)前記錄;value = 2表示該方法刪除

23、所有由Filter屬性設(shè)定的記錄。11.2.2 訪問(wèn)數(shù)據(jù)庫(kù) 1. 連接到數(shù)據(jù)源 2. 使用Recordset對(duì)象處理結(jié)果1. 連接到數(shù)據(jù)源 (1) 創(chuàng)建連接字符串 創(chuàng)建Web數(shù)據(jù)應(yīng)用程序的第一步是為ADO提供一種定位并標(biāo)識(shí)數(shù)據(jù)源的方法。這一步通過(guò)“連接字符串實(shí)現(xiàn)。連接字符串是一系列用分號(hào)分隔的參數(shù),用于定義諸如數(shù)據(jù)源提供程序和數(shù)據(jù)源位置等參數(shù)。ADO使用連接字符串標(biāo)識(shí)OLE DB提供程序并將提供程序指向數(shù)據(jù)源。提供程序是一個(gè)組件,用來(lái)描述數(shù)據(jù)源并以行集合的形式將信息展示給應(yīng)用程序。 表11-10列出了幾種通用數(shù)據(jù)源的OLE DB連接字符串。表11-10 常用的通用數(shù)據(jù)源的OLE DB連接字符串

24、 為了向后兼容性,ODBC的OLE DB提供程序支持ODBC連接字符串語(yǔ)法。表11-11列出了常用的ODBC連接字符串。表11-11 常用的ODBC連接字符串 (2) 連接到數(shù)據(jù)源 ADO提供的Connection對(duì)象,用于建立和管理應(yīng)用程序與OLE DB兼容數(shù)據(jù)源或ODBC兼容數(shù)據(jù)庫(kù)之間的連接。Connection對(duì)象的屬性和方法可以用來(lái)打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)連接,并發(fā)布對(duì)更新信息的查詢(xún)。 要建立數(shù)據(jù)庫(kù)連接,首先必須創(chuàng)建Connection對(duì)象實(shí)例。下述代碼創(chuàng)建Connection對(duì)象實(shí)例,接著打開(kāi)一個(gè)連接: 創(chuàng)建connection對(duì)象Set conn = Server.CreateObject

25、(ADODB.Connection) 使用OLE DB連接字符串打開(kāi)連接conn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:MarketDatarsgl.mdb或 創(chuàng)建connection對(duì)象 set conn=server.createobject(adodb.Connection) 創(chuàng)建OLE DB連接字符串 CS=Provider=Microsoft.jet.OLEDB.4.0;Data Source= c o n n . C o n n e c t i o n S t r i n g = C S & Server.MapP

26、ath(rsgl.mdb) 打開(kāi)連接 conn.Open 說(shuō)明: 連接字符串在等號(hào)(=)的左右不包含空格。 在上例中,Connection對(duì)象的Open方法將引用連接字符串。2. 使用Recordset對(duì)象處理結(jié)果 建立了連接對(duì)象Connection,并打開(kāi)了數(shù)據(jù)庫(kù)連接后,就可以使用Recordset對(duì)象存取表中的記錄。 要使用Recordset對(duì)象處理結(jié)果,首先必須創(chuàng)建Recordset對(duì)象實(shí)例。下述代碼創(chuàng)建Recordset對(duì)象實(shí)例,并打開(kāi)Recordset對(duì)象: 創(chuàng)建Recordset對(duì)象Set RS=Server.CreateObject(adodb.recordset) 打開(kāi)Reco

27、rdset對(duì)象RS.Open 職工工資,conn,2,3,2 打開(kāi)Recordset對(duì)象后,就可以讀取、插入、刪除和更新其中的記錄。下面通過(guò)一個(gè)綜合使用Recordset對(duì)象屬性和方法的例子來(lái)說(shuō)明記錄集Recordset對(duì)象的應(yīng)用。 【例11-1】綜合使用Recordset對(duì)象的屬性與方法,建立一個(gè)工資管理網(wǎng)頁(yè)應(yīng)用程序,如圖11-1所示。 工資管理網(wǎng)頁(yè)應(yīng)用程序包括6個(gè)asp文件,它們分別是: Main.asp:工資管理網(wǎng)頁(yè)主框架,包括兩個(gè)框架。上方框架為控制菜單,下方框架為數(shù)據(jù)顯示、操作區(qū)域。 Menu.asp:上方框架的來(lái)源網(wǎng)頁(yè),用以控制各種數(shù)據(jù)操作。 List1.asp:記錄顯示頁(yè)面。 List2.asp:記錄修改頁(yè)面,用以修改指定記錄數(shù)據(jù)。 List3.asp:記錄增加頁(yè)面,用以增加新記錄。 List4.asp:記錄刪除頁(yè)面,用以刪除指定記錄。 (1) 主框架網(wǎng)頁(yè) 主框架網(wǎng)頁(yè)Main.asp的代碼如下: 說(shuō)明:下方框架的名稱(chēng)為“Bottom”,各個(gè)記錄操作網(wǎng)頁(yè)都將在此打開(kāi)。 (2) 控制菜單網(wǎng)頁(yè) 控制菜單網(wǎng)頁(yè)Menu.asp是上方框架的來(lái)源網(wǎng)頁(yè)。其代碼。 說(shuō)明

溫馨提示

  • 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)論