亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Visual?。拢幔螅椋阒械臄?shù)據(jù)庫訪問技術(shù)

        2009-09-28 08:38:18耿小芬徐忠軍
        中國教育信息化 2009年7期

        耿小芬 徐忠軍

        摘 要:Visual Basic 作為一種流行的編程軟件,憑其簡單易學(xué)得到初學(xué)者的青睞并被廣泛應(yīng)用。VB主要提供了三種數(shù)據(jù)訪問技術(shù),包括 DAO數(shù)據(jù)訪問模式、遠(yuǎn)程數(shù)據(jù)對象RDO模式以及基于開放式數(shù)據(jù)源 ODBC的ADO數(shù)據(jù)訪問技術(shù),本文通過對以上幾種數(shù)據(jù)庫訪問技術(shù)的分析比較,提出ADO技術(shù)的優(yōu)勢。

        關(guān)鍵詞:VB DAO RDO ADO

        中圖分類號:TP311.13 文獻(xiàn)標(biāo)識碼:A 文章編號:1673-8454(2009)13-0083-02

        Visual Basic(簡稱VB)是微軟公司推出的可視化編程工具之一,是目前世界上使用比較廣泛的RAD(Rapid Application Develop)工具。VB在數(shù)據(jù)庫應(yīng)用開發(fā)方面的能力十分強(qiáng)大,并且微軟還設(shè)計了多種數(shù)據(jù)訪問的方法。數(shù)據(jù)訪問是通過數(shù)據(jù)訪問接口實現(xiàn)的,數(shù)據(jù)訪問接口是數(shù)據(jù)提供方和使用方的中介,沒有合適的數(shù)據(jù)訪問接口,就無法進(jìn)入數(shù)據(jù)庫。VB訪問數(shù)據(jù)庫的方法很多,本文重點介紹DAO,RDO和ADO這三種常見的數(shù)據(jù)庫訪問的方法。

        一、VB中數(shù)據(jù)的訪問技術(shù)簡介

        1.DAO(Data Access Objects) 數(shù)據(jù)訪問對象

        DAO是允許程序員操作Microsoft Jet數(shù)據(jù)庫引擎的第一個面向?qū)ο蟮慕涌?最初是為了實現(xiàn)對ACCESS 數(shù)據(jù)庫的訪問而開發(fā)的程序接口。它采用層次結(jié)構(gòu),提供了豐富的數(shù)據(jù)對象,通過DAO/Jet功能可以訪問ISAM(順序索引查找方法)數(shù)據(jù)庫,使用DAO/ODBC Direct功能可以實現(xiàn)遠(yuǎn)程RDO功能,DAO可通過ODBC像直接連接到其他數(shù)據(jù)庫一樣,直接連接到Access數(shù)據(jù)庫,但DAO不能觸發(fā)事件。

        DAO提供了管理系統(tǒng)所需的全部操作的屬性和方法,包括創(chuàng)建數(shù)據(jù)庫,定義表、字段和索引,建立表間的關(guān)系,定位和查詢數(shù)據(jù)庫等工具。在操作中VB把DAO模型封裝成Data控件,通過設(shè)置相應(yīng)的DatabaseName屬性和RecordSource屬性就可以將Data控件與數(shù)據(jù)庫中的記錄源連接起來了,這樣就可以使用Data控件來對數(shù)據(jù)庫進(jìn)行操作。DAO最適用于單系統(tǒng)應(yīng)用程序或在小范圍本地分布使用,所以如果數(shù)據(jù)庫是Access數(shù)據(jù)庫且是本地使用的話,建議使用這種訪問方式。

        2.RDO(Remote Data Objects) 遠(yuǎn)程數(shù)據(jù)對象

        RDO是一個到ODBC的、面向?qū)ο蟮臄?shù)據(jù)訪問接口。它依賴 ODBC API、選定的 ODBC 驅(qū)動程序以及后端數(shù)據(jù)庫引擎實現(xiàn)大部分的智能和功能。它具備DAO的基本功能,保持了DAO的簡單特點,是專為訪問遠(yuǎn)程ODBC關(guān)系數(shù)據(jù)源而設(shè)計的。它同易于使用的DAO style組合在一起,提供了一個接口,形式上展示出所有ODBC的底層功能和靈活性。盡管RDO在很好地訪問Jet或ISAM數(shù)據(jù)庫方面受到限制,而且它只能通過現(xiàn)存的ODBC驅(qū)動程序來訪問關(guān)系數(shù)據(jù)庫。但是,RDO已被證明是許多大型關(guān)系數(shù)據(jù)庫開發(fā)者經(jīng)常選用的最佳接口。RDO提供了用來訪問存儲過程和復(fù)雜結(jié)果集的更多和更復(fù)雜的對象、屬性,以及方法。

        VB從5.0版本開始使用RDO接口訪問遠(yuǎn)程數(shù)據(jù)庫,和DAO一樣,在VB中也把其封裝為RDO控件,其使用方法與DAO控件的使用方法完全一樣。雖然DAO也可以訪問遠(yuǎn)程數(shù)據(jù)庫,而且可以通過使用ODBC Drivers 代替DAO/jet 顯著提高數(shù)據(jù)訪問速度,但是,在使用ODBC Drivers時,將無法使用某些 Microsoft Jet數(shù)據(jù)庫的功能,因此,從VB5.0開始,大多使用RDO訪問遠(yuǎn)程數(shù)據(jù)庫。RDO適合開發(fā)一些大的關(guān)系數(shù)據(jù)庫,如SQL Server、Oracle等,特別適用于用戶/服務(wù)器應(yīng)用程序的開發(fā)。

        3.ADO(ActiveX Data Object)Active數(shù)據(jù)對象

        ADO是DAO和RDO的后繼產(chǎn)物,它設(shè)計為一種極簡單的格式,即通過ODBC的方法同數(shù)據(jù)庫接口,可以使用任何一種ODBC數(shù)據(jù)源,即不止適合于SQL Server、Oracle、Access等數(shù)據(jù)庫應(yīng)用程序,也適合于Excel表格、文本文件、圖形文件和無格式的數(shù)據(jù)文件,是一個便于使用的應(yīng)用程序?qū)咏涌?。ADO是為Microsoft最新和最強(qiáng)大的數(shù)據(jù)訪問范例OLE DB而設(shè)計的,OLE DB是新的底層接口,程序中使用了大量的COM接口,而ADO封裝了這些接口,時下流行的快速應(yīng)用程序開發(fā)工具、數(shù)據(jù)庫工具、應(yīng)用程序開發(fā)環(huán)境和腳本語言都可以訪問這種接口。

        從VB6.0開始使用ADO進(jìn)行數(shù)據(jù)訪問,ADO是基于面向?qū)ο竽P偷脑L問技術(shù),用它產(chǎn)生的應(yīng)用程序占用內(nèi)存少,目前已經(jīng)成為當(dāng)前數(shù)據(jù)庫開發(fā)的主流。它適合于各種客戶/服務(wù)器應(yīng)用系統(tǒng)和基于 Web 的應(yīng)用系統(tǒng)中,尤其在一些腳本語言中訪問數(shù)據(jù)庫操作是ADO的主要優(yōu)勢。由于ADO 的設(shè)計綜合了RDO和DAO的最佳性能,它的語法簡單,非常易于學(xué)習(xí),因此,ADO正在逐漸代替DAO與RDO的數(shù)據(jù)訪問接口。

        二、數(shù)據(jù)庫訪問技術(shù)對比分析

        DAO是用來實現(xiàn)訪問Access數(shù)據(jù)庫的Jet引擎接口,其操作是針對記錄和字段,它對于單一的數(shù)據(jù)庫應(yīng)用系統(tǒng)非常有效;RDO是用來訪問ODBC面向?qū)ο蟮慕涌?其操作針對行和列,主要用于開發(fā)大型關(guān)系數(shù)據(jù)庫應(yīng)用程序;ADO訪問數(shù)據(jù)庫是通過訪問OLE DB數(shù)據(jù)并提供程序來進(jìn)行的,能夠處理任何類型的數(shù)據(jù),是一種通用的數(shù)據(jù)訪問范例。

        1.數(shù)據(jù)庫對象模型的差異

        DAO 模型是設(shè)計關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的對象類的集合,是一種Jet數(shù)據(jù)庫引擎的面向?qū)ο蟮慕涌?。Microsoft DAO Jet 數(shù)據(jù)庫中包括有DB Engine對象、Workspace對象、Database對象等,最頂層的對象是 DB Engine對象,模型中其他對象都是DBEngine 對象的“子”對象。RDO 模型與DAO模型很相似,最明顯的區(qū)別是RDO對象模型中包括有RDO Engine對象、RDO Environment對象、RDO Connection對象等14 個可供使用的主要對象。

        ADO模型可以看作是RDO模型的精華版,它擴(kuò)展了DAO和RDO所使用的對象模型,它包含較少的對象、更多的屬性方法參數(shù)以及事件。模型中只有3個對象成員Connection、Command、Recordset,以及幾個集合對象Error、Parameter、Field和Property等。

        2.訪問數(shù)據(jù)庫方式的不同

        DAO 技術(shù)主要實現(xiàn)對ISAM類型數(shù)據(jù)庫的訪問,如對Foxpro、Access、DBase等數(shù)據(jù)庫的訪問,并允許Visual Basic開發(fā)者通過ODBC直接連接到Access表,這是一種最為簡便的訪問已有數(shù)據(jù)庫的方法,在VB 6.0中實現(xiàn)得非常巧妙。DAO Jet服務(wù)的另一個優(yōu)勢就是它包含了自己的查詢引擎,即不需要遠(yuǎn)程的或基于服務(wù)器的數(shù)據(jù)庫系統(tǒng)(如SQL Server或Oracle)的支持就能完成數(shù)據(jù)請求。如果程序需要在單機(jī)環(huán)境下運(yùn)行,DAO Jet數(shù)據(jù)服務(wù)是最好的選擇。

        ADO技術(shù)基于通用對象模型(COM),它提供了多種語言的訪問技術(shù),同時,由于ADO提供了訪問自動化接口,所以,ADO可以用描述的腳本語言來訪問VBScript,VCScript等。

        DAO、RDO、ADO數(shù)據(jù)訪問技術(shù)的區(qū)別如表1所示。

        三、VB訪問數(shù)據(jù)庫的原則

        在數(shù)據(jù)訪問接口中三種訪問技術(shù)各有各的特點,至于實際使用哪一種接口方式,在很大程度上依賴于用戶的應(yīng)用程序的具體情況而定。要做到具體問題具體分析,根據(jù)具體的環(huán)境、條件、要求而采用適當(dāng)?shù)姆桨?應(yīng)用中注意以下幾個原則:

        1.代碼的重用和運(yùn)行的效率

        比如通過使用ODBC數(shù)據(jù)源連接數(shù)據(jù)庫的方法,可在變換多種數(shù)據(jù)庫類型的情況下,不用頻繁修改代碼。而用VB SQL通過DB-Library就做不到。當(dāng)然ODBC接口并不是VB訪問數(shù)據(jù)庫運(yùn)行效率最高的方法。

        2.實現(xiàn)的簡便性,易維護(hù)性

        如果數(shù)據(jù)量不大,而且要求開發(fā)周期短的情況,建議使用DAO+Access,雖然DAO功能并不強(qiáng)大,但是它對Jet引擎進(jìn)行了加速優(yōu)化處理,所以這種搭配應(yīng)該是比較好的選擇。如果我們設(shè)計的方法復(fù)雜,那么設(shè)計出來的應(yīng)用程序也會很復(fù)雜,維護(hù)時就很困難。比如:本地需要訪問ISAM 或Jet 類型數(shù)據(jù)源,那么就使用DAO/Jet,而沒有必要使用通過ODBC的方法。

        3.安全性原則

        這一條應(yīng)根據(jù)環(huán)境和條件決定。例如局域網(wǎng)的網(wǎng)絡(luò)安全性要好于廣域網(wǎng),因而可直接利用數(shù)據(jù)控件如RDC,這樣實現(xiàn)起來方便快捷,廣域網(wǎng)需要大量的錯誤捕獲,用RDC就不如用RDO易控制錯誤。

        四、結(jié)束語

        由于OLE DB的ADO對象模型具有簡單性、可擴(kuò)充性、數(shù)據(jù)訪問的一致性等優(yōu)點,它正在逐步代替老的DAO和RDO數(shù)據(jù)訪問接口,成為新的標(biāo)準(zhǔn)數(shù)據(jù)訪問接口,其應(yīng)用必將越來越廣。但是ADO并不支持DAO的所有功能,在ADO的演化過程中,馬上把大多數(shù)DAO應(yīng)用程序移植到ADO上可能為時太早,例如當(dāng)前的ADO并不支持?jǐn)?shù)據(jù)定義(DDL)、用戶、組等。微軟的新名詞層出不窮,最新又推出了UDA,隨著網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù)的不斷發(fā)展,現(xiàn)在的應(yīng)用系統(tǒng)對數(shù)據(jù)集成的要求越來越高,我們要靈活掌握各種數(shù)據(jù)庫訪問技術(shù),更好地完成數(shù)據(jù)庫的開發(fā)。

        參考文獻(xiàn):

        [1]姚小兵.VB中ADO技術(shù)的應(yīng)用[J].電腦與信息技術(shù),2005,13(4):22-24.

        [2]杜玲玲,羅紅星.VB下利用ADO實現(xiàn)對SQL Server的訪問[J].江西電力職業(yè)技術(shù)學(xué)院學(xué)報,2005,18(2):39-41.

        [3]李林等.Visual Basic程序設(shè)計[M].北京:地質(zhì)出版社,2006.

        久久99热精品免费观看麻豆| 国产真实老熟女无套内射| 亚洲熟女少妇一区二区| 国产亚洲欧美在线播放网站| 亚洲精品熟女av影院| 成人无码一区二区三区| 日韩人妻无码一区二区三区| 中文字幕在线观看国产双飞高清 | 国产人妻黑人一区二区三区| 午夜无码无遮挡在线视频| 尤物蜜桃视频一区二区三区| 亚洲精品无码永久在线观看| 亚洲永久精品ww47| 久久精品国产88久久综合| 国产精品高湖呻呤久久av| 国产欧美精品一区二区三区四区| 7777精品伊人久久久大香线蕉| 免费无码又爽又刺激又高潮的视频| 亚洲av高清一区二区| 色欲欲www成人网站| 国产精品永久免费视频| 亚洲另类精品无码专区| 91精品国产91久久综合桃花| 精品熟女视频一区二区三区国产| 亚洲av首页在线| av大片在线无码免费| 久久久精品亚洲懂色av| 国产一区av男人天堂| 在线看片免费人成视频久网下载| 国产婷婷丁香五月麻豆| 手机免费在线观看日韩av| 搡女人真爽免费视频大全| 乱码精品一区二区三区| 亚洲美女国产精品久久久久久久久| 91九色国产老熟女视频| 亚洲精品国产suv一区88| 人妻在线中文字幕| 中文字幕一区二区三区综合网| 无码人妻精品一区二区三区夜夜嗨 | 40岁大乳的熟妇在线观看 | 亚洲桃色蜜桃av影院|