999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析VB中的三種數(shù)據(jù)訪問技術(shù)

2009-04-29 00:00:00

摘要:DAO、RDO和ADO分別代表了數(shù)據(jù)訪問技術(shù)的不同發(fā)展階段,本文對(duì)VB中最常用的三種數(shù)據(jù)訪問接口的體系結(jié)構(gòu)進(jìn)行了介紹,最后對(duì)這三種接口的技術(shù)進(jìn)行了集中總結(jié)和比較。

關(guān)鍵詞:DAO RDO ADO 數(shù)據(jù)訪問

0 引言

數(shù)據(jù)庫(kù)實(shí)質(zhì)上是一個(gè)龐大的、不同類型的數(shù)據(jù)集合。早期的數(shù)據(jù)庫(kù)系統(tǒng)不提供對(duì)外接口,僅可有特定軟件訪問數(shù)據(jù),隨著計(jì)算機(jī)技術(shù)的發(fā)展和應(yīng)用水平的提高,數(shù)據(jù)庫(kù)系統(tǒng)逐漸發(fā)展、完善對(duì)外接口,成為標(biāo)準(zhǔn)的應(yīng)用支持平臺(tái)。程序員再也不必自己編寫數(shù)據(jù)管理程序,只需使用標(biāo)準(zhǔn)接口連接數(shù)據(jù)庫(kù)即可獲得數(shù)據(jù)庫(kù)系統(tǒng)的全部功能。而訪問數(shù)據(jù)庫(kù)是現(xiàn)代應(yīng)用程序必備的基本功能之一,無論是數(shù)據(jù)庫(kù)管理系統(tǒng),還是多媒體應(yīng)用系統(tǒng),都需要強(qiáng)大的數(shù)據(jù)庫(kù)支持。VB為程序員提供了多種訪問數(shù)據(jù)庫(kù)的手段,包括數(shù)據(jù)控件、DAO、RDO及ADO等。本文簡(jiǎn)單介紹DAO、RAO、ADO的體系結(jié)構(gòu),并對(duì)三者進(jìn)行簡(jiǎn)單總結(jié)和比較。

1 DAO

1.1 DAO概念 數(shù)據(jù)訪問對(duì)象DAO(Data Access Objects)出自VB6.0提供的一個(gè)對(duì)象庫(kù),為處理數(shù)據(jù)提供了完整、靈活的支持。DAO模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類的集合。它們提供了管理關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)所需的全部操作的屬性和方法,其中包括創(chuàng)建數(shù)據(jù)庫(kù),定義表、字段和索引,建立表間的關(guān)系,定位和查詢數(shù)據(jù)庫(kù)等。在程序中使用它可以訪問Access、FoxPro、dBase等數(shù)據(jù)庫(kù),某些條件下也可以訪問ODBC數(shù)據(jù)庫(kù)。

1.2 DAO層次結(jié)構(gòu) DAO模型的體系結(jié)構(gòu)如圖1所示。DAO的結(jié)構(gòu)嚴(yán)謹(jǐn)而豐富,正是這樣的結(jié)構(gòu),提供了足夠豐富的訪問數(shù)據(jù)庫(kù)的方法。DAO是完全的面向?qū)ο蟮模鼘?shù)據(jù)的值作為屬性,數(shù)據(jù)的查詢作為方法,數(shù)據(jù)值的變化作為事件。

1.3 使用DAO 使用DAO的步驟為:①創(chuàng)建工作區(qū);②打開數(shù)據(jù)庫(kù);③創(chuàng)建記錄集;④使用記錄集訪問數(shù)據(jù)庫(kù);⑤關(guān)閉DAO。

2 RDO

2.1 RDO概念 遠(yuǎn)程數(shù)據(jù)對(duì)象RDO(Remote Data Objects)是位于ODBC API和驅(qū)動(dòng)程序管理器之上的對(duì)象模型,它提供一系列的對(duì)象來滿足遠(yuǎn)程數(shù)據(jù)訪問的特殊要求。盡管RDO在訪問Jet數(shù)據(jù)庫(kù)時(shí)受到限制,只能通過現(xiàn)存的ODBC驅(qū)動(dòng)程序來訪問關(guān)系數(shù)據(jù)庫(kù),但它能訪問任意的ODBC數(shù)據(jù)源,特別適用于智能的數(shù)據(jù)庫(kù)服務(wù)器(如SQL Server和Oracle等)。RDO具有短小快速的特性。

2.2 RDO層次結(jié)構(gòu) 要正確地使用RDO,必須深入理解RDO對(duì)象模型。RDO對(duì)象和集合提供了使用代碼創(chuàng)建并控制遠(yuǎn)程ODBC數(shù)據(jù)庫(kù)系統(tǒng)部件的框架。對(duì)象和集合的屬性描述了數(shù)據(jù)庫(kù)部件的特征,也描述了用來操縱它們的方法。RDO對(duì)象模型的體系結(jié)構(gòu)如圖2所示。

2.3 使用RDO 使用RDO連接數(shù)據(jù)庫(kù)的過程如下:①創(chuàng)建RDO環(huán)境;②連接數(shù)據(jù)庫(kù);③打開結(jié)果集;④操作結(jié)果集;⑤關(guān)閉數(shù)據(jù)庫(kù)。

3 ADO

3.1 ADO概念 活動(dòng)數(shù)據(jù)對(duì)象ADO(ActiveX Data Object)是Microsoft新的數(shù)據(jù)訪問技術(shù)。該技術(shù)可屏蔽遠(yuǎn)程數(shù)據(jù)訪問的復(fù)雜性而高效、快速的訪問多種數(shù)據(jù)庫(kù),是基于OLE DB之上的更簡(jiǎn)單、更高級(jí)、更適合Visual Basic程序員,它封裝并實(shí)際上實(shí)現(xiàn)了OLE DB的所有功能,同時(shí)消除了OLE DB的多種弊端。

3.2 ADO對(duì)象模型 ADO模型包含一組對(duì)象,用于訪問數(shù)據(jù)庫(kù)。ADO對(duì)象模型體系結(jié)構(gòu)如圖3所示。

3.3 使用ADO ADO最基本的操作流程是:①初始化COM庫(kù),引入ADO庫(kù)定義文件;②用Connection對(duì)象連接數(shù)據(jù)庫(kù);③利用建立好的連接,通過Connection、Command對(duì)象執(zhí)行命令,或是利用Recordset對(duì)象取得結(jié)果記錄集進(jìn)行處理;④使用完后關(guān)閉連接釋放對(duì)象。

4 DAO、RDO、ADO的比較

DAO是Jet引擎的面向?qū)ο蟮木幊探涌冢糜谠L問Jet或ISAM數(shù)據(jù)庫(kù),并允許VB開發(fā)者直接連接到Access數(shù)據(jù)表。因此,DAO技術(shù)在訪問MDB文件格式的數(shù)據(jù)庫(kù)時(shí)有優(yōu)勢(shì)。但如果開發(fā)者想使用DAO與Oracle或SQL Server這樣的非MDB 文件格式的數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行通信,則對(duì)數(shù)據(jù)庫(kù)的所有調(diào)用和數(shù)據(jù)輸出都必須經(jīng)過Access/Jet數(shù)據(jù)庫(kù)引擎,這對(duì)于使用數(shù)據(jù)庫(kù)服務(wù)器的應(yīng)用程序來說是一個(gè)嚴(yán)重的瓶頸。因此適用于單系統(tǒng)應(yīng)用程序或小范圍本地分布使用。

RDO是是一個(gè)到ODBC的、面向?qū)ο蟮臄?shù)據(jù)訪問接口,是從DAO派生來的,適用于大型的客戶、服務(wù)器數(shù)據(jù)庫(kù)。它兼具 DAO和ODBC API二者的優(yōu)點(diǎn):一方面,它較DAO層次結(jié)構(gòu)簡(jiǎn)單,便于對(duì)象的創(chuàng)建和處理;另一方面,它表露了ODBC的底層結(jié)構(gòu),提供環(huán)境、連接和語句句柄。此外,RDO還提供了用來訪問存儲(chǔ)過程和復(fù)雜結(jié)果的更多、更復(fù)雜的對(duì)象、屬性和方法,因此,盡管它只能通過現(xiàn)存的ODBC驅(qū)動(dòng)程序訪問關(guān)系數(shù)據(jù)庫(kù),并在訪問Jet或ISAM數(shù)據(jù)庫(kù)方面受到某些限制, 但它在許多大型關(guān)系數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)的仍被證明是一種比較好的選擇。

ADO是一種新的數(shù)據(jù)庫(kù)訪問技術(shù),是特別為客戶/服務(wù)器應(yīng)用程序開發(fā)而設(shè)計(jì)的。ADO是DAO和RDO的后繼產(chǎn)物,比DAO和RDO更簡(jiǎn)單、更加靈活。ADO在功能上與RDO更相似,而且它們之間有一種相似的映射關(guān)系。ADO擴(kuò)展了DAO和RDO所使用的對(duì)象模型,它包含較少的對(duì)象,更多的屬性、方法和事件。

RDO使用行和列的概念,而DAO使用記錄和字段的概念。RDO的查詢結(jié)果以結(jié)果集的形式返回?cái)?shù)據(jù),結(jié)果集可以包括零個(gè)或多個(gè)數(shù)據(jù)行,每行又可以包括一個(gè)或多個(gè)列。DAO需要使用游標(biāo)訪問數(shù)據(jù),而RDO允許創(chuàng)建無游標(biāo)的結(jié)果集,所需的資源大大少于游標(biāo)。DAO支持?jǐn)?shù)據(jù)庫(kù)模式的創(chuàng)建、修改、參照完整性和安全性,而RDO不支持任何形式的參照完整性、安全性或模式修改。DAO對(duì)象模型主要用于Jet引擎,RDO對(duì)象模型主要用于ODBC數(shù)據(jù)訪問,而ADO對(duì)象模型主要用于OLE DB。Jet和ODBC主要是針對(duì)數(shù)據(jù)庫(kù)訪問,而OLE DB對(duì)許多不同的數(shù)據(jù)源提供多機(jī)種環(huán)境的數(shù)據(jù)訪問。Microsoft公司已將 ADO作為數(shù)據(jù)存取API的未來選擇;VBScript以使用ADO,這使它很適合服務(wù)器/數(shù)據(jù)庫(kù)的整合。因此,ADO是客戶/服務(wù)器和基于Web的應(yīng)用程序開發(fā)的首選。隨著數(shù)據(jù)庫(kù)訪問技術(shù)的不斷發(fā)展,ADO將成為數(shù)據(jù)庫(kù)訪問技術(shù)的主流。

參考文獻(xiàn):

[1]求是科技.VisualBasic6.0數(shù)據(jù)庫(kù)開發(fā)技術(shù)與工程實(shí)踐[M].北京:人民郵電出版社.2004:121~156.

[2]夏慶梅熊華鋼:VB訪問SQLServer的三種數(shù)據(jù)訪問接口的研究[J].計(jì)算機(jī)應(yīng)用研究2001.18(12).44~47.

[3]李罡,張翠頻,李雷.VisualBasic6.0編程基礎(chǔ)與范例[M].北京:電子工業(yè)出版社,2000,325~348.

[4]高峰霞,廖彬山.VisualBasic6.0中文提高與應(yīng)用[M].北京:電子工業(yè)出版社.1999:255~261.

主站蜘蛛池模板: 青草精品视频| jizz在线观看| 国产精品手机在线播放| 中文字幕无码制服中字| 国产精品亚洲va在线观看| 国产精品成人第一区| 国产拍揄自揄精品视频网站| 精品精品国产高清A毛片| 伊人AV天堂| 国产91小视频| 最新午夜男女福利片视频| 午夜国产精品视频| 午夜不卡福利| 日韩毛片免费| 一区二区三区高清视频国产女人| 国产免费a级片| 无码专区在线观看| 亚洲成人黄色在线观看| 欧美日韩在线国产| 亚洲人成网18禁| 99激情网| 午夜国产理论| 免费一极毛片| 99视频在线观看免费| 国产精品一区不卡| 日韩无码视频网站| 免费国产一级 片内射老| 全部无卡免费的毛片在线看| 国产无码高清视频不卡| 萌白酱国产一区二区| 国产特级毛片aaaaaa| 人人91人人澡人人妻人人爽| 美女一级毛片无遮挡内谢| 丁香五月激情图片| 91精品国产一区| 无码高潮喷水专区久久| 在线不卡免费视频| 国产免费久久精品99re不卡| 国产欧美亚洲精品第3页在线| 亚洲日韩高清无码| 久久亚洲日本不卡一区二区| 精品無碼一區在線觀看 | 91色爱欧美精品www| 国产精品第一区| 精品国产香蕉伊思人在线| 国产精品午夜福利麻豆| 91亚洲精选| 久久久久夜色精品波多野结衣| 999精品免费视频| 在线精品视频成人网| 国产手机在线ΑⅤ片无码观看| 国产欧美又粗又猛又爽老| 伊人色婷婷| 成人免费网站久久久| 亚洲精品国偷自产在线91正片| 六月婷婷激情综合| 国产精品微拍| 五月综合色婷婷| 日韩国产精品无码一区二区三区| 40岁成熟女人牲交片免费| 亚洲成aⅴ人在线观看| 性色生活片在线观看| 天堂在线www网亚洲| 久热中文字幕在线| 狠狠色婷婷丁香综合久久韩国| 狂欢视频在线观看不卡| 熟妇无码人妻| 97国产成人无码精品久久久| 日韩欧美国产综合| 国产免费人成视频网| 国产理论最新国产精品视频| 内射人妻无码色AV天堂| 一级毛片免费观看久| 黄色污网站在线观看| 久久精品国产免费观看频道 | 国产另类乱子伦精品免费女| 97视频在线精品国自产拍| 毛片在线播放网址| 国产福利微拍精品一区二区| 国产欧美成人不卡视频| 国产精品99在线观看| 亚洲国产AV无码综合原创|