《Web數(shù)據(jù)庫技術(shù)應(yīng)用教程(第二版)》課件第10章-1_第1頁
《Web數(shù)據(jù)庫技術(shù)應(yīng)用教程(第二版)》課件第10章-1_第2頁
《Web數(shù)據(jù)庫技術(shù)應(yīng)用教程(第二版)》課件第10章-1_第3頁
《Web數(shù)據(jù)庫技術(shù)應(yīng)用教程(第二版)》課件第10章-1_第4頁
《Web數(shù)據(jù)庫技術(shù)應(yīng)用教程(第二版)》課件第10章-1_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本章通過對ADO組件的介紹給出了ADO編程模型的一般知識,最后通過具體實例學(xué)習(xí)ADO在ASP中的使用。l

掌握ADO組件模型的構(gòu)成,了解ADO的形成過程。l

掌握ADO數(shù)據(jù)對象訪問數(shù)據(jù)庫的編程模型。l

掌握ASP連接到數(shù)據(jù)庫的方法,通過ADO如何訪問和維護(hù)數(shù)據(jù)庫中的數(shù)據(jù)。本章學(xué)習(xí)目標(biāo)

在傳統(tǒng)的HTML頁面中,訪問數(shù)據(jù)庫一般是通過公用網(wǎng)關(guān)接口CGI來實現(xiàn),這種方式不僅開發(fā)困難,而且在出現(xiàn)大量并發(fā)請求時會顯著地降低服務(wù)器的運(yùn)行效率,而采用ASP(ActiveServerPages)技術(shù)實現(xiàn)數(shù)據(jù)庫訪問較好地解決了這個問題。

在ASP腳本中可以通過三種方式訪問數(shù)據(jù)庫:傳統(tǒng)的IDC(InternetDatabaseConnector)方式、ADO(ActiveXDataObjects)方式以及RDS(RemoteDataService)方式。

10.1ASP訪問數(shù)據(jù)庫簡介(1)

10.1ASP訪問數(shù)據(jù)庫簡介(2)1.Internet數(shù)據(jù)庫接口(IDC)

IDC是一個傳統(tǒng)的數(shù)據(jù)庫查詢工具,用來定義和執(zhí)行數(shù)據(jù)庫查詢的SQL命令,并向瀏覽器返回一個指定數(shù)據(jù)格式的頁面。2.ActiveX數(shù)據(jù)對象(ADO)用ADO訪問數(shù)據(jù)庫類似于編寫數(shù)據(jù)庫應(yīng)用程序,ADO把絕大部分的數(shù)據(jù)庫操作封裝在7個對象中,在ASP編程調(diào)用這些對象執(zhí)行相應(yīng)的數(shù)據(jù)庫操作。3.遠(yuǎn)程數(shù)據(jù)服務(wù)(RDS)

RDS就比ADO更進(jìn)一步,它支持?jǐn)?shù)據(jù)遠(yuǎn)程操作。由于RDS與ADO集成,RDS的底層是調(diào)用ADO來完成的,所以也可以將RDS理解為ADO的RDS,即ActiveX數(shù)據(jù)對象的遠(yuǎn)程數(shù)據(jù)服務(wù)。ActiveX數(shù)據(jù)對象(ADO)是一種既易于使用又可擴(kuò)充的技術(shù),用來將數(shù)據(jù)庫訪問添加到Web頁中,可以使用ADO編寫簡潔和可升級的腳本以連接到與應(yīng)用程序編程接口OLEDB兼容的數(shù)據(jù)源,如數(shù)據(jù)庫、電子表格、順序數(shù)據(jù)文件或電子郵件目錄。10.2基于ActiveX的數(shù)據(jù)訪問對象ADO

10.2.2基本的

ADO編程模型

(1)連接到數(shù)據(jù)源(Connection),可選擇開始一個事務(wù)。

(2)可選擇創(chuàng)建對象來表示SQL命令(Command)。

(3)可選擇在SQL命令中指定列、表和值作為變量參數(shù)(Parameter)。

(4)執(zhí)行命令(Command、Connection或Recordset)。(5)如果命令按行返回,則將行存儲在緩存中(Recordset)。

(6)可選擇創(chuàng)建緩存視圖,以便能對數(shù)據(jù)進(jìn)行排序、篩選和定位(Recordset)。

(7)通過添加、刪除或更改行和列編輯數(shù)據(jù)(Recordset)。

(8)在適當(dāng)情況下,使用緩存中的更改內(nèi)容來更新數(shù)據(jù)源(Recordset)。

(9)在使用事務(wù)之后,可以接受或拒絕事務(wù)。10.3CONNECTION連接對象

通過“連接”可從應(yīng)用程序訪問數(shù)據(jù)源,連接是交換數(shù)據(jù)所必需的環(huán)境。對象模型使用Connection對象使連接概念得以具體化。連接對象包括著豐富的屬性和方法集。在連接數(shù)據(jù)庫之前通常需要對連接對象的屬性進(jìn)行必要的設(shè)置,例如,通過設(shè)置ConnectionString的屬性,就能夠構(gòu)造包含連接信息的字符串。10.3.1連接對象的屬性1.Attributes屬性2.CursorLocation屬性3.ConnectionString屬性4.ConnectionTimeOut屬性5.CommandTimeOut屬性6.Provider屬性7.DefaultDatabase屬性8.IsolationLevel屬性9.Mode屬性10.3.2連接對象的方法

1.Open方法:打開與數(shù)據(jù)庫的連接。在創(chuàng)建連接對象后,就可以調(diào)用連接對象的Open方法來建立與數(shù)據(jù)庫的連接。

(1)DSN連接方式

(2)DSN-LESS方式(非數(shù)據(jù)源方式的聯(lián)接方法)

2.Close方法:關(guān)閉與數(shù)據(jù)源的連接,以便釋放與該連接有關(guān)的系統(tǒng)資源。

3.Execute方法

:通過連接對象的Execute方法執(zhí)行SQL語句或存儲過程,完成對數(shù)據(jù)庫的操作。

10.3.3創(chuàng)建事務(wù)處理

事務(wù)是整體成功或失敗的操作,事務(wù)處理用于對數(shù)據(jù)庫進(jìn)行可靠的更新。也就是說,在一次事務(wù)活動中,要么所有的操作都成功,要么所有的操作都失敗,從而保證關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的完整性。

1.開始事務(wù)——BeginTrans方法

2.提交事務(wù)——CommitTrans方法

3.取消事務(wù)——RollbackTrans方法

10.3.4連接對象的數(shù)據(jù)集合

連接對象提供Errors與Properties兩種數(shù)據(jù)集合,前者表示連接對象運(yùn)行時最近一次的錯誤或警告信息,后者表示連接對象所定義的相關(guān)屬性。1.Errors集合與Error對象(1)Errors集合。Errors集合包含因運(yùn)行命令而引起的上一次ADO或OLEDB提供者錯誤的詳細(xì)內(nèi)容

.(2)Error對象。Errors對象是發(fā)生運(yùn)行時錯誤時由系統(tǒng)生成的對象,是負(fù)責(zé)存儲一個系統(tǒng)運(yùn)行時所發(fā)生的錯誤或警告的,一個對象儲存著一條錯誤的所有信息。Error對象沒有方法,只有若干只讀的屬性。

2.Properties數(shù)據(jù)集合與Property對象

Connection對象、Command對象、Recordset對象與Field對象都包含一個Properties數(shù)據(jù)集合。在Properties集合中包含有與Connection、Command、Recordset對象及Field對象對應(yīng)的Property對象。

(1)Properties數(shù)據(jù)集合。Properties數(shù)據(jù)集合所提供的方法與屬性有Count屬性、Refresh方法與Item方法等.(2)Property對象。記錄連接對象、Command、Recordset與Field對象的每一項屬性值。Property對象提供了Name屬性、Value屬性、Type屬性及Attribute屬性等。

10.3.5ASP與數(shù)據(jù)庫連接方法舉例

在ADO中數(shù)據(jù)庫連接形式復(fù)雜多變,隨驅(qū)動提供者和ADO版本的變化而變化。這里給出幾種常用的ADO連接方式,其中oConn代表連接對象。(1)系統(tǒng)DSN方式:oConn.Open"DSN=mySystemDSN;Uid=myUsername;Pwd=myPassword"(2)文件DSN方式:oConn.Open"FILEDSN=c:\somepath\mydb.dsn;Uid=myUsername;Pwd=myPassword"10.3.5ASP與數(shù)據(jù)庫連接方法舉例(2)(3)ODBCDriverforAccess(DSNLESS連接方式)(4)ODBCDriverfordBASE(DSNLESS連接方式)(5)ODBCDriverforMySQL(DSNLESS連接方式)(6)ODBCDriverforOracle(DSNLESS連接方式)(7)ODBCDriverforFoxPro(Withadatabasecontainer,DSNLESS連接方式)(8)ODBCDriverforFoxPro(Withoutadatabasecontainer,DSNLESS連接方式)10.3.5ASP與數(shù)據(jù)庫連接方法舉例(3)(9)ODBCDriverforExcel(DSNLESS連接方式)(10)OLEDBconnectionforAccess(DSNLESS連接方式)(11)OLEDBProviderforMySQL(DSN連接方式)(12)OLEDBProviderforOracle(fromOracle)(DSN連接方式)(13)OLEDBProviderforExcel(14)MSRemote-Access(Jet)(15)MSRemote-SQLServer(ODBCDSN)(16)MSRemote-SQLServer(OLEDBDSN)10.3.6管理數(shù)據(jù)庫連接

一個Web數(shù)據(jù)庫應(yīng)用程序(例如聯(lián)機(jī)購物應(yīng)用程序)是否能經(jīng)得起考驗,關(guān)鍵在于如何合理地管理數(shù)據(jù)庫連接。1.使連接超時

用連接對象的ConnectionTimeout,可以限制應(yīng)用程序連接等待的時間。

2.共享連接

連接共享維持打開的數(shù)據(jù)庫連接并管理不同的用戶共享該連接,以維持其性能和減少空閑的連接數(shù)。

為了將ODBC驅(qū)動程序加入到共享連接中

溫馨提示

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

評論

0/150

提交評論