




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、規(guī)則的值枚舉方法:例:先在diannaoxs數(shù)據(jù)庫中創(chuàng)建規(guī)則對象“only_char”,規(guī)則指定為4位僅字母的字符。創(chuàng)建自定義數(shù)據(jù)類型“ID_ghs”,CREATE RULE only_char x IN (a-z A-Z a-z A-Za-z A-Z a-z A-Z) 用戶自定義函數(shù)用戶自定義函數(shù)創(chuàng)建過程舉例:創(chuàng)建過程舉例:例:例:在diannaoxs數(shù)據(jù)庫中創(chuàng)建一個自定義函數(shù)“進(jìn)價偏差” 。該函數(shù)以進(jìn)貨表2006中的貨號和進(jìn)貨日期為參數(shù),返回該單進(jìn)貨的進(jìn)價偏差,(進(jìn)價偏差=(進(jìn)價平均進(jìn)價)/平均進(jìn)價) *100%)。CREATE FUNCTION 進(jìn)價偏差(貨號 char,進(jìn)貨日期date
2、time)RETURNS floatBEGIN declare pjjj money,jjpc ploat set pjjj=(select sum(進(jìn)價數(shù)量)/sum(數(shù)量) from 進(jìn)貨表 2006 where 貨號=貨號 and 進(jìn)貨日期=進(jìn)貨日期) RETURN (進(jìn)價 平均進(jìn)價) / 平均進(jìn)價)*100% END需要計(jì)算,使之為貨號和進(jìn)貨日期對應(yīng)的進(jìn)價需要計(jì)算,使之為貨號對應(yīng)的平均進(jìn)價CREATE FUNCTION 進(jìn)價偏差(貨號 char,進(jìn)貨日期datetime)RETURNS floatBEGIN DECLARE jj money pjjj money SELECT pjjj
3、= AVG(進(jìn)價) from 進(jìn)貨表2006 where 貨號=貨號 SELECT jj= 進(jìn)價 from 進(jìn)貨表2006 where 貨號=貨號 and 進(jìn)貨日期=進(jìn)貨日期日期) RETURN (jj pjjj) / pjjj) *100END用戶自定義函數(shù)用戶自定義函數(shù)創(chuàng)建過程舉例:創(chuàng)建過程舉例:例:例:在diannaoxs數(shù)據(jù)庫中創(chuàng)建一個自定義函數(shù)“進(jìn)價偏差”,(進(jìn)價偏差=(進(jìn)價平均進(jìn)價)/平均進(jìn)價) *100%)。該函數(shù)以進(jìn)貨表2006中的貨號和進(jìn)貨日期為參數(shù),返回該單進(jìn)貨的進(jìn)價偏差。8.1 ODBC的概念和配置方法的概念和配置方法8.2 統(tǒng)一數(shù)據(jù)訪問技術(shù)統(tǒng)一數(shù)據(jù)訪問技術(shù)OLB DB和
4、和ADO8.3嵌入式嵌入式SQL 開發(fā)數(shù)據(jù)庫應(yīng)用程序主要需要兩種技術(shù):開發(fā)數(shù)據(jù)庫應(yīng)用程序主要需要兩種技術(shù):數(shù)據(jù)庫鏈接數(shù)據(jù)庫鏈接和和在應(yīng)用程序中使用在應(yīng)用程序中使用SQLSQL。為此,需要了解如下的概念和。為此,需要了解如下的概念和技術(shù):技術(shù): ODBC ODBC 開放數(shù)據(jù)庫連接開放數(shù)據(jù)庫連接 OLB DBOLB DB面向數(shù)據(jù)庫應(yīng)用的對象鏈接和嵌入面向數(shù)據(jù)庫應(yīng)用的對象鏈接和嵌入 ADOADO組件式數(shù)據(jù)對象組件式數(shù)據(jù)對象 嵌入式嵌入式SQLSQL在高級編程語言中使用在高級編程語言中使用SQLSQL的技術(shù)的技術(shù) MS MS:與其創(chuàng)建一個統(tǒng)一數(shù)據(jù)庫:與其創(chuàng)建一個統(tǒng)一數(shù)據(jù)庫(IBM(IBM和和Oracl
5、eOracle提倡提倡) ),不如提供一個能夠訪問不同數(shù)據(jù)庫的統(tǒng)一接口,這樣會不如提供一個能夠訪問不同數(shù)據(jù)庫的統(tǒng)一接口,這樣會更加實(shí)用更加實(shí)用 8.1 ODBC8.1 ODBC的概念和配置方法的概念和配置方法 概念概念8.1 ODBC8.1 ODBC的概念和配置方法的概念和配置方法 概念概念 ODBCODBC(Open Database Connectivity(Open Database Connectivity)即)即開放數(shù)據(jù)庫開放數(shù)據(jù)庫連接連接,是,是MSMS提供的訪問不同數(shù)據(jù)庫的統(tǒng)一接口。提供的訪問不同數(shù)據(jù)庫的統(tǒng)一接口。 ODBC ODBC是是MSMS開放服務(wù)結(jié)構(gòu)開放服務(wù)結(jié)構(gòu)(WOSA
6、(WOSA,Windows Open Windows Open Services Architecture)Services Architecture)中有關(guān)數(shù)據(jù)庫的一個組件。中有關(guān)數(shù)據(jù)庫的一個組件。 ODBCODBC建立了一組規(guī)范,并提供了一組建立了一組規(guī)范,并提供了一組訪問數(shù)據(jù)庫的標(biāo)訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)準(zhǔn)APIAPI( (Application Programming Interface應(yīng)用程序編程接應(yīng)用程序編程接口口) )。 ODBCODBC本身也提供了本身也提供了對對SQLSQL語言的支持語言的支持,用戶可以直接,用戶可以直接將將SQLSQL語句發(fā)給語句發(fā)給ODBCODBC。8.1 ODB
7、C8.1 ODBC的概念和配置方法的概念和配置方法 概念概念 一個基于一個基于ODBCODBC的應(yīng)用程序并不需要直接與的應(yīng)用程序并不需要直接與DBMSDBMS通信,通信,所有的數(shù)據(jù)庫操作由所有的數(shù)據(jù)庫操作由ODBCODBC中相應(yīng)的驅(qū)動程序中相應(yīng)的驅(qū)動程序完成。完成。 ODBCODBC的最大優(yōu)點(diǎn)是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫。的最大優(yōu)點(diǎn)是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫。ODBCODBC組成組成位于位于Windows控制面板的控制面板的ODBC選項(xiàng)內(nèi)選項(xiàng)內(nèi),用于管理安裝的用于管理安裝的ODBC驅(qū)驅(qū)動程序和管理數(shù)據(jù)源動程序和管理數(shù)據(jù)源 包含在包含在ODBC32.DLL中,對用戶透明,中,對用戶透明
8、,用于管理用于管理ODBC驅(qū)動程序驅(qū)動程序 是一些是一些DLL,提供了,提供了ODBC與各種與各種DBMS之間的接口之間的接口 是一種數(shù)據(jù)連接的抽象。包含了數(shù)據(jù)庫位是一種數(shù)據(jù)連接的抽象。包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息置和數(shù)據(jù)庫類型等信息8.1 ODBC8.1 ODBC的概念和配置方法的概念和配置方法 概念概念 應(yīng)用程序要訪問一個數(shù)據(jù)庫,首先用應(yīng)用程序要訪問一個數(shù)據(jù)庫,首先用ODBCODBC管理器注管理器注冊一個冊一個數(shù)據(jù)源數(shù)據(jù)源,即配置相應(yīng)的,即配置相應(yīng)的ODBCODBC驅(qū)動。管理器根據(jù)數(shù)驅(qū)動。管理器根據(jù)數(shù)據(jù)源提供的數(shù)據(jù)庫位置、數(shù)據(jù)庫類型及據(jù)源提供的數(shù)據(jù)庫位置、數(shù)據(jù)庫類型及ODBCODBC
9、驅(qū)動程序等驅(qū)動程序等信息,建立起信息,建立起ODBCODBC與具體數(shù)據(jù)庫的聯(lián)系。與具體數(shù)據(jù)庫的聯(lián)系。 SQL Server SQL Server服務(wù)器實(shí)例是服務(wù)器實(shí)例是ODBCODBC可用的數(shù)據(jù)源之一??捎玫臄?shù)據(jù)源之一。8.1 ODBC8.1 ODBC的概念和配置方法的概念和配置方法 配置配置/注冊注冊O(shè)DBC數(shù)據(jù)源數(shù)據(jù)源 ODBCODBC數(shù)據(jù)源配置數(shù)據(jù)源配置/ /注冊方法:注冊方法:WindowsWindows開始菜單開始菜單 控制面板控制面板 管理工具管理工具 ODBC ODBC數(shù)據(jù)源,數(shù)據(jù)源,將打開將打開ODBCODBC數(shù)據(jù)源管理器數(shù)據(jù)源管理器 在系統(tǒng)在系統(tǒng)DNSDNS頁框窗口中選頁框窗
10、口中選“添添加加”,將打開創(chuàng)鍵新數(shù)據(jù)源對話框,將打開創(chuàng)鍵新數(shù)據(jù)源對話框 選選“SQL ServerSQL Server”, 選選“完成完成”,則打開新,則打開新“創(chuàng)建數(shù)據(jù)源向?qū)?chuàng)建數(shù)據(jù)源向?qū)А保S向?qū)нx,跟隨向?qū)нx擇要連接的數(shù)據(jù)庫、指定數(shù)據(jù)庫描述名稱等即完成創(chuàng)建數(shù)擇要連接的數(shù)據(jù)庫、指定數(shù)據(jù)庫描述名稱等即完成創(chuàng)建數(shù)據(jù)源,此后,可以選擇據(jù)源,此后,可以選擇“測試數(shù)據(jù)源測試數(shù)據(jù)源”,以檢驗(yàn)新數(shù)據(jù)源,以檢驗(yàn)新數(shù)據(jù)源的有效性。的有效性。 對對本地本地?cái)?shù)據(jù)庫,通常在數(shù)據(jù)庫,通常在“用戶用戶 DSNDSN”選項(xiàng)卡上創(chuàng)建選項(xiàng)卡上創(chuàng)建一個項(xiàng)一個項(xiàng)(DSN(DSN數(shù)據(jù)源名數(shù)據(jù)源名) );對;對遠(yuǎn)程遠(yuǎn)程數(shù)據(jù)庫,則
11、在數(shù)據(jù)庫,則在“系統(tǒng)系統(tǒng)DSNDSN”上創(chuàng)建,要在上創(chuàng)建,要在語言平臺語言平臺(如(如VC+VC+)內(nèi)部創(chuàng)建數(shù)據(jù)庫,則)內(nèi)部創(chuàng)建數(shù)據(jù)庫,則使用使用“文件文件 DSNDSN”選項(xiàng)卡。設(shè)置不當(dāng)會引起數(shù)據(jù)庫訪問選項(xiàng)卡。設(shè)置不當(dāng)會引起數(shù)據(jù)庫訪問錯誤,所以錯誤,所以O(shè)DBCODBC設(shè)置常常是數(shù)據(jù)庫連接錯誤首先應(yīng)當(dāng)查設(shè)置常常是數(shù)據(jù)庫連接錯誤首先應(yīng)當(dāng)查看之處看之處) )8.1 ODBC8.1 ODBC的概念和配置方法的概念和配置方法 配置配置/注冊注冊O(shè)DBC數(shù)據(jù)源數(shù)據(jù)源 注冊完畢,注冊完畢,ODBCODBC數(shù)據(jù)源管理窗口將出現(xiàn)一個新的數(shù)據(jù)源管理窗口將出現(xiàn)一個新的“系統(tǒng)系統(tǒng)DNSDNS”,即用戶定義的數(shù)據(jù)源
12、(名稱由用戶指定)。即用戶定義的數(shù)據(jù)源(名稱由用戶指定)。 此后,就可以在應(yīng)用程序中,通過此后,就可以在應(yīng)用程序中,通過SQL Server SQL Server 驅(qū)動程序驅(qū)動程序(DriverDriver)訪問這個數(shù)據(jù)源。)訪問這個數(shù)據(jù)源。 例:用例:用VC+VC+開發(fā)的查詢開發(fā)的查詢UIUI綁定綁定pubspubs中的數(shù)據(jù)表中的數(shù)據(jù)表authorsauthors。其他選項(xiàng)卡的含義和作用:其他選項(xiàng)卡的含義和作用:驅(qū)動程序:它是數(shù)據(jù)源的軟接口。通過驅(qū)動程序頁框可以查看目驅(qū)動程序:它是數(shù)據(jù)源的軟接口。通過驅(qū)動程序頁框可以查看目前可用的驅(qū)動程序,也可以安裝新的驅(qū)動程序。前可用的驅(qū)動程序,也可以安裝
13、新的驅(qū)動程序。跟蹤:可以通過設(shè)置該選項(xiàng),以跟蹤:可以通過設(shè)置該選項(xiàng),以O(shè)DBCODBC提供的相應(yīng)功能跟蹤數(shù)據(jù)庫提供的相應(yīng)功能跟蹤數(shù)據(jù)庫進(jìn)行的各種事務(wù),因?yàn)楦檿r日志文件會膨脹很快,缺省設(shè)置是進(jìn)行的各種事務(wù),因?yàn)楦檿r日志文件會膨脹很快,缺省設(shè)置是不跟蹤。不跟蹤。 連接池(連接池(Connection PoolConnection Pool):也稱緩沖池。在數(shù)據(jù)庫處理中,):也稱緩沖池。在數(shù)據(jù)庫處理中,運(yùn)算開銷最大的是建立數(shù)據(jù)庫連接,連接池通過運(yùn)算開銷最大的是建立數(shù)據(jù)庫連接,連接池通過重用以前的連接重用以前的連接來節(jié)省運(yùn)算開銷。來節(jié)省運(yùn)算開銷。 連接池的原理連接池的原理:對于已經(jīng)建立的數(shù)據(jù)庫連接
14、,當(dāng)訪問程序要:對于已經(jīng)建立的數(shù)據(jù)庫連接,當(dāng)訪問程序要求斷開時只做邏輯斷開,而其物理連接被存儲在求斷開時只做邏輯斷開,而其物理連接被存儲在“池池”中。當(dāng)下中。當(dāng)下一個用戶訪問時,可以直接從連接池中取得需要的連接,而提高一個用戶訪問時,可以直接從連接池中取得需要的連接,而提高系統(tǒng)的響應(yīng)速度。系統(tǒng)的響應(yīng)速度。 連接池的思想也被用在連接池的思想也被用在ADOADO等較先進(jìn)的數(shù)據(jù)庫連接模式中。等較先進(jìn)的數(shù)據(jù)庫連接模式中。 Win7設(shè)置ODBC數(shù)據(jù)源的方法:在cmd命令框中輸入“odbcad32”打開ODBC管理器8.1 ODBC8.1 ODBC的概念和配置方法的概念和配置方法 概念概念8.2 OLB
15、DB8.2 OLB DB和和ADO ADO UDA:一種新型數(shù)據(jù)訪問技術(shù):一種新型數(shù)據(jù)訪問技術(shù)UDA( Universal Data Access)UDA( Universal Data Access)是是MSMS推出的統(tǒng)一數(shù)據(jù)訪問推出的統(tǒng)一數(shù)據(jù)訪問技術(shù),它能用于訪問分布于不同場地、不同存儲格式的數(shù)技術(shù),它能用于訪問分布于不同場地、不同存儲格式的數(shù)據(jù)。據(jù)。 UDAUDA技術(shù)是繼技術(shù)是繼ODBCODBC之后數(shù)據(jù)訪問技術(shù)的又一飛躍。之后數(shù)據(jù)訪問技術(shù)的又一飛躍。UDAUDA技術(shù)包括技術(shù)包括兩層標(biāo)準(zhǔn)接口兩層標(biāo)準(zhǔn)接口 OLE DB OLE DB 面向數(shù)據(jù)庫應(yīng)用的面向數(shù)據(jù)庫應(yīng)用的對象鏈接和嵌入對象鏈接和嵌
16、入系統(tǒng)級編程接口系統(tǒng)級編程接口 ADO ADO 組件式數(shù)據(jù)對象組件式數(shù)據(jù)對象應(yīng)用層編程接口應(yīng)用層編程接口8.2 OLB DB8.2 OLB DB和和ADO ADO UDA:一種新型數(shù)據(jù)訪問技術(shù):一種新型數(shù)據(jù)訪問技術(shù)兩層標(biāo)準(zhǔn)接口:兩層標(biāo)準(zhǔn)接口:(1 1)OLE DBOLE DB(Object linked & Banding DatebaseObject linked & Banding Datebase對象連對象連接與嵌入式數(shù)據(jù)庫)是接與嵌入式數(shù)據(jù)庫)是系統(tǒng)級的編程接口系統(tǒng)級的編程接口,它定義了一組,它定義了一組COMCOM接口(接口(Component Object ModelCompone
17、nt Object Model組件對象模型),它們組件對象模型),它們封裝了訪問多種數(shù)據(jù)庫系統(tǒng)的操作,為數(shù)據(jù)用戶和提供商提封裝了訪問多種數(shù)據(jù)庫系統(tǒng)的操作,為數(shù)據(jù)用戶和提供商提供了建立標(biāo)準(zhǔn)。供了建立標(biāo)準(zhǔn)。OLE DBOLE DB提供的是提供的是底層軟件接口底層軟件接口, ,可在如可在如C/C+C/C+等中、低級語言中直接使用。等中、低級語言中直接使用。8.2 OLB DB8.2 OLB DB和和ADO ADO UDA:一種新型數(shù)據(jù)訪問技術(shù):一種新型數(shù)據(jù)訪問技術(shù)兩層標(biāo)準(zhǔn)接口:兩層標(biāo)準(zhǔn)接口:(2 2)ADOADO (ActiveX Data Objects (ActiveX Data Objects
18、控件數(shù)據(jù)對象控件數(shù)據(jù)對象) ) 是是應(yīng)用層應(yīng)用層的編程接口的編程接口。ADOADO對對OLE DBOLE DB進(jìn)行了封裝進(jìn)行了封裝, ,它為編程語言提供了它為編程語言提供了訪問訪問OLE DBOLE DB的中間層。可在各種腳本語言的中間層??稍诟鞣N腳本語言(Script)(Script)或一些宏或一些宏語言中,直接使用語言中,直接使用ADOADO訪問數(shù)據(jù)庫操作訪問數(shù)據(jù)庫操作; ;它適合于各種客戶機(jī)它適合于各種客戶機(jī)/ /服務(wù)器應(yīng)用系統(tǒng)和基于服務(wù)器應(yīng)用系統(tǒng)和基于WebWeb的應(yīng)用。它比此前的一些數(shù)據(jù)訪的應(yīng)用。它比此前的一些數(shù)據(jù)訪問對象模型(如問對象模型(如DAODAO、RDORDO)使用更方便,
19、數(shù)據(jù)訪問效率更高。)使用更方便,數(shù)據(jù)訪問效率更高。 UDAUDA的層次結(jié)構(gòu)圖的層次結(jié)構(gòu)圖應(yīng)用程序既可以通過應(yīng)用程序既可以通過ADO訪問數(shù)據(jù)也可以訪問數(shù)據(jù)也可以直接通過直接通過OLE DB訪訪問數(shù)據(jù)問數(shù)據(jù) OLE DB分成兩部分分成兩部分,一部分由數(shù)據(jù)提供一部分由數(shù)據(jù)提供者實(shí)現(xiàn)者實(shí)現(xiàn),另一部分由另一部分由系統(tǒng)提供系統(tǒng)提供OLE DBOLE DB兩層結(jié)構(gòu)的優(yōu)點(diǎn):兩層結(jié)構(gòu)的優(yōu)點(diǎn):既為應(yīng)用程序提供了多種選擇方案既為應(yīng)用程序提供了多種選擇方案, ,又簡化了數(shù)據(jù)提供方實(shí)現(xiàn)服務(wù)又簡化了數(shù)據(jù)提供方實(shí)現(xiàn)服務(wù)功能的手段功能的手段, ,使得第三方發(fā)布數(shù)據(jù)更為簡便使得第三方發(fā)布數(shù)據(jù)更為簡便, ,而在應(yīng)用程序方可以而在
20、應(yīng)用程序方可以得到全面的功能服務(wù)得到全面的功能服務(wù)8.2 OLB DB8.2 OLB DB和和ADO ADO OLE DB體系結(jié)構(gòu)體系結(jié)構(gòu) OLE DB OLE DB是應(yīng)用程序通向不同數(shù)據(jù)源的低級接口,它不僅是應(yīng)用程序通向不同數(shù)據(jù)源的低級接口,它不僅具有具有SQLSQL編譯能力,還提供其他編譯能力,還提供其他非非SQLSQL數(shù)據(jù)類型數(shù)據(jù)類型的應(yīng)用方案。的應(yīng)用方案。 OLE DBOLE DB基于基于OLEOLE(對象鏈接與嵌入)技術(shù),它可以與任(對象鏈接與嵌入)技術(shù),它可以與任何何MS Visual StudioMS Visual Studio產(chǎn)品協(xié)同工作產(chǎn)品協(xié)同工作,提供數(shù)據(jù)訪問功能。,提供數(shù)
21、據(jù)訪問功能。8.2 OLB DB8.2 OLB DB和和ADO ADO OLE DB體系結(jié)構(gòu)體系結(jié)構(gòu) OLE DB OLE DB 與與ODBC ODBC 的關(guān)系的關(guān)系 OLE DB OLE DB 和和ODBC ODBC 都提供統(tǒng)一的數(shù)據(jù)訪問接口,但都提供統(tǒng)一的數(shù)據(jù)訪問接口,但OLE DB OLE DB 并并非替代非替代ODBC ODBC 的新標(biāo)準(zhǔn)。它們只是不同的標(biāo)準(zhǔn)。的新標(biāo)準(zhǔn)。它們只是不同的標(biāo)準(zhǔn)。 ODBC ODBC 的對象是基于的對象是基于SQL SQL 的數(shù)據(jù)源的數(shù)據(jù)源 OLE DB OLE DB 的對象則是任何數(shù)據(jù)的對象則是任何數(shù)據(jù), , 包括關(guān)系或非關(guān)系數(shù)據(jù)庫中包括關(guān)系或非關(guān)系數(shù)據(jù)庫中
22、的數(shù)據(jù)。的數(shù)據(jù)。 符合符合ODBC ODBC 標(biāo)準(zhǔn)的數(shù)據(jù)源是標(biāo)準(zhǔn)的數(shù)據(jù)源是OLE DB OLE DB 標(biāo)準(zhǔn)數(shù)據(jù)的子集。標(biāo)準(zhǔn)數(shù)據(jù)的子集。8.2 OLB DB8.2 OLB DB和和ADO ADO UDA:一種新型數(shù)據(jù)訪問技術(shù):一種新型數(shù)據(jù)訪問技術(shù) OLE DB OLE DB和和ADOADO都以都以COMCOM組件組件的形式實(shí)現(xiàn)。的形式實(shí)現(xiàn)。 COMCOM(Component Object ModelComponent Object Model組件式對象模型)是組件式對象模型)是MSMS為了軟件生產(chǎn)更加符合人類的行為方式開發(fā)的一種新的軟件為了軟件生產(chǎn)更加符合人類的行為方式開發(fā)的一種新的軟件開發(fā)架構(gòu)
23、。在該構(gòu)架下,開發(fā)商開發(fā)特定功能的組件,次級開發(fā)架構(gòu)。在該構(gòu)架下,開發(fā)商開發(fā)特定功能的組件,次級開發(fā)人員只需將它們按需要組合起來,構(gòu)成復(fù)雜的應(yīng)用系統(tǒng)。開發(fā)人員只需將它們按需要組合起來,構(gòu)成復(fù)雜的應(yīng)用系統(tǒng)。 COMCOM的的目標(biāo)目標(biāo):實(shí)現(xiàn)一個稱為:實(shí)現(xiàn)一個稱為COMCOM庫的庫的APIAPI。 COMCOM的的發(fā)布形式發(fā)布形式:DLLDLL或或EXEEXE,因此具有語言無關(guān)性。,因此具有語言無關(guān)性。8.2 OLB DB8.2 OLB DB和和ADO ADO ADO對象模型對象模型 ADOADO對象模型對象模型定義了一組可用于數(shù)據(jù)庫訪問的定義了一組可用于數(shù)據(jù)庫訪問的ActiveXActiveX對象
24、對象, ,可被可被Visual BasicVisual Basic、Visual C+Visual C+、JavaJava(以及其他(以及其他一些腳本語言)調(diào)用。一些腳本語言)調(diào)用。特性特性1 1:ADOADO比一般數(shù)據(jù)庫接口更適用于網(wǎng)絡(luò)環(huán)境;比一般數(shù)據(jù)庫接口更適用于網(wǎng)絡(luò)環(huán)境;特性特性2 2:ADOADO用一組接口包裝用一組接口包裝OLE DBOLE DB,使用更簡單。,使用更簡單。8.2 OLB DB8.2 OLB DB和和ADO ADO UDA:一種新型數(shù)據(jù)訪問技術(shù):一種新型數(shù)據(jù)訪問技術(shù) OLE DB OLE DB模型包括的主要模型包括的主要COMCOM對象對象: :(1)(1)數(shù)據(jù)源數(shù)據(jù)
25、源(Data Source)(Data Source)對象:指定數(shù)據(jù)提供者、管理用對象:指定數(shù)據(jù)提供者、管理用戶權(quán)限、建立與數(shù)據(jù)源的連接等初始操作。戶權(quán)限、建立與數(shù)據(jù)源的連接等初始操作。(2)(2)會話會話(Session)(Session)對象:在數(shù)據(jù)源連接的基礎(chǔ)上,定義事對象:在數(shù)據(jù)源連接的基礎(chǔ)上,定義事務(wù)控制方法。務(wù)控制方法。(3)(3)命令命令(Command)(Command)對象:定義各種數(shù)據(jù)操作(如查詢、修對象:定義各種數(shù)據(jù)操作(如查詢、修改、插入等)。改、插入等)。(4)(4)行集行集(Rowset)(Rowset)對象:定義數(shù)據(jù)元組的抽象表示。對象:定義數(shù)據(jù)元組的抽象表示。9
26、.2 OLB DB9.2 OLB DB和和ADO ADO ADO對象模型對象模型 ADOADO對象模型對象模型 典型的典型的ADOADO應(yīng)用過程:用應(yīng)用過程:用ConnectionConnection對象定義的方法建立與對象定義的方法建立與數(shù)據(jù)源的鏈接數(shù)據(jù)源的鏈接 -用用CommandCommand對象調(diào)用數(shù)據(jù)庫操作對象調(diào)用數(shù)據(jù)庫操作 用用RecordsetRecordset對象定義的方法對結(jié)果集做定位讀取等操作。對象定義的方法對結(jié)果集做定位讀取等操作。 Command Command命令所使用的數(shù)據(jù)庫操作語言與底層所對應(yīng)的命令所使用的數(shù)據(jù)庫操作語言與底層所對應(yīng)的OLE OLE DBDB數(shù)據(jù)源
27、有關(guān)數(shù)據(jù)源有關(guān), ,不同的數(shù)據(jù)源可以使用不同的命令語言不同的數(shù)據(jù)源可以使用不同的命令語言, ,比如關(guān)比如關(guān)系型數(shù)據(jù)庫使用系型數(shù)據(jù)庫使用SQLSQL作為命令語言。作為命令語言。 8.2 OLB DB8.2 OLB DB和和ADO ADO ADO對象模型對象模型 (1)(1)ConnectionConnection對象:對象: 一個一個ConnectionConnection對象實(shí)例代表與數(shù)據(jù)源之間的一個鏈接對象實(shí)例代表與數(shù)據(jù)源之間的一個鏈接, , 該對象的屬性與功能設(shè)置:該對象的屬性與功能設(shè)置:通過通過ConnectionStringConnectionString、ConnectionTime
28、OutConnectionTimeOut和和ModeMode屬性設(shè)置屬性設(shè)置連接串、超時信息、訪問模式。連接串、超時信息、訪問模式。通過通過CursorLocationCursorLocation屬性設(shè)置客戶端游標(biāo)。屬性設(shè)置客戶端游標(biāo)。通過通過DefaultDatabaseDefaultDatabase屬性設(shè)置鏈接的默認(rèn)數(shù)據(jù)庫屬性設(shè)置鏈接的默認(rèn)數(shù)據(jù)庫 8.2 OLB DB8.2 OLB DB和和ADO ADO ADO對象模型對象模型 (2) Command(2) Command對象:對象: CommandCommand對象通過其成員函數(shù)定義了常規(guī)數(shù)據(jù)庫操作,該對象通過其成員函數(shù)定義了常規(guī)數(shù)據(jù)庫
29、操作,該對象的屬性與功能設(shè)置:對象的屬性與功能設(shè)置: 通過通過CommandTextCommandText屬性設(shè)置命令串。屬性設(shè)置命令串。 通過通過ParametersParameters集合屬性和集合屬性和ParameterParameter對象定義參數(shù)化查詢,對象定義參數(shù)化查詢,或定義存儲過程的參數(shù)?;蚨x存儲過程的參數(shù)。 8.2 OLB DB8.2 OLB DB和和ADO ADO ADO對象模型對象模型 (3)Recordset(3)Recordset對象:對象: RecordsetRecordset對象按照關(guān)系表結(jié)構(gòu)管理數(shù)據(jù)對象按照關(guān)系表結(jié)構(gòu)管理數(shù)據(jù), ,定義了對數(shù)據(jù)定義了對數(shù)據(jù)子集的
30、訪問方法。并支持通過游標(biāo)訪問數(shù)據(jù)子集,該對象的子集的訪問方法。并支持通過游標(biāo)訪問數(shù)據(jù)子集,該對象的 屬性與功能設(shè)置:屬性與功能設(shè)置: 利用利用CursorTypeCursorType屬性設(shè)置游標(biāo)類型。屬性設(shè)置游標(biāo)類型。 通過通過OpenOpen方法打開記錄集數(shù)據(jù)。方法打開記錄集數(shù)據(jù)。 通過通過MoveFirstMoveFirst、MoveLastMoveLast、MoveNextMoveNext和和MovePreviousMovePrevious方法定方法定義游標(biāo)的移動操作。義游標(biāo)的移動操作。 RecordsetRecordset對象既可以管理對象既可以管理ConnectionConnecti
31、on或或CommandCommand對象對象實(shí)例的結(jié)果數(shù)據(jù)集實(shí)例的結(jié)果數(shù)據(jù)集, ,也可以獨(dú)立于這兩個對象使用。也可以獨(dú)立于這兩個對象使用。 8.2 OLB DB8.2 OLB DB和和ADO ADO 在多種語言中使用在多種語言中使用ADO 因?yàn)橐驗(yàn)锳DOADO是作為是作為ActiveXActiveX組件程序?qū)崿F(xiàn)的組件程序?qū)崿F(xiàn)的, ,所以用戶可所以用戶可以在任何支持以在任何支持COMCOM和和ActiveXActiveX組件的語言環(huán)境中使用組件的語言環(huán)境中使用ADO,ADO,比如比如Visual BasicVisual Basic、Visual C+Visual C+、ASPASP和和JavaJava等等。等等。僅以僅以VBVB為例解釋為例解釋ADOADO的典型用法。的典型用法。 8.2 OLE DB8.2 OLE DB和和ADO ADO 在多種語言中使用在多種語言中使用ADO (1 1
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小雪腌臘肉活動方案
- 山水促銷活動方案
- 市婦聯(lián)六一活動方案
- 崇明區(qū)禁毒日活動方案
- 鞏義網(wǎng)絡(luò)五金活動方案
- 工行城市活動策劃方案
- 小蛇公益活動方案
- 嶺南舞獅活動方案
- 工地考察活動方案
- 小班益智活動方案
- 2024-2025年材料員考試題庫含答案【典型題】
- 上海市楊浦區(qū)2024-2025學(xué)年七年級(下)期末語文試題(含答案)
- 創(chuàng)業(yè)設(shè)計(jì)裝修公司路演提案
- 2025年云南省公務(wù)員考試(行測)真題試卷(含答案)
- 2025汾西礦業(yè)井下操作技能人員招聘300人(山西)筆試參考題庫附帶答案詳解析集合
- 2025餐廳管理與服務(wù)合同
- 2025年高考全國二卷英語高考真題
- 2025年全國“銀行業(yè)金融消費(fèi)者權(quán)益保護(hù)”應(yīng)知應(yīng)會知識考試題與答案
- 安全輸液護(hù)理管理
- 2025化工安全考試題庫及答案
- T/CECS 10011-2022聚乙烯共混聚氯乙烯高性能雙壁波紋管材
評論
0/150
提交評論