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

數(shù)據(jù)庫訪問技術(shù)在VB中的應用

2008-12-31 00:00:00趙江巖屈建萍
商場現(xiàn)代化 2008年14期

[摘 要] 對VB中數(shù)據(jù)庫訪問技術(shù)進行了介紹,并且討論了VB應用程序開發(fā)中最常用的三種數(shù)據(jù)訪問接口的體系結(jié)構(gòu)、性能特點,最后對這三種接口的技術(shù)進行集中總結(jié),給出了它們各自的適用場所。

[關(guān)鍵詞] 數(shù)據(jù)庫訪問 數(shù)據(jù)訪問接口 ODBC DAO RDO OLE DB ADO

當今,數(shù)據(jù)庫技術(shù)和網(wǎng)絡技術(shù)是計算機技術(shù)領(lǐng)域中兩大主題。目前比較常用的數(shù)據(jù)庫編程開發(fā)工具主要有:Delphi、PowerBuilder、Visual Basic、Visual C++、Borland C++等。本文闡述了最常用的三種數(shù)據(jù)訪問接口的對象模型及其原理特性,分析總結(jié)出它們各自適用場合。

一、三種數(shù)據(jù)訪問接口技術(shù)的體系結(jié)構(gòu)及性能特點

數(shù)據(jù)庫訪問技術(shù)處在不斷進步中,DAO、RDO和ADO代表了該項技術(shù)發(fā)展的不同階段。盡管VB中提供了直接與ODBC或OLE DB交互訪問數(shù)據(jù)庫的方法,但由于其屬于底層接口,編程復雜,通常較少使用,大部分VB應用程序更常更多使用DAO、RDO和ADO,下面本文對這三種數(shù)據(jù)訪問接口做進一步的討論。

1.DAO(Data Access Objects,數(shù)據(jù)訪問對象)體系結(jié)構(gòu)及性能特點

DAO的體系結(jié)構(gòu):DAO是使用分層的對象框架實現(xiàn)的,DBEngine是DAO對象的頂層,它表示Microsoft Jet Database Engine。每個應用程序只能創(chuàng)建一個 DBEngine對象,所有其他DAO對象都含在DBEngine對象內(nèi)。Workspace和 Errors是DAO框架的第二層。每個Workspace對象代表一個數(shù)據(jù)會話,用于控制數(shù)據(jù)庫的登錄安全性和事務范圍。每個Workspace對象包含一組Database對象。Database對象是DAO的中心對象。每個Database對象表示一個本地或遠程數(shù)據(jù)庫。當Jet引擎打開本地或遠程數(shù)據(jù)庫時,一個Database對象就增加到該Database 集合中。Database對象包含其他主要的DAO對象集合。其中TableDef、Recordset、QueryDef對象集合用于訪問SQLServer數(shù)據(jù)庫,而Relations和Containers用于本地Jet引擎數(shù)據(jù)庫。

DAO的性能特點:DAO是第一個面向?qū)ο蟮臄?shù)據(jù)庫訪問編程接口,是VB默認的數(shù)據(jù)庫訪問方式。這種結(jié)構(gòu)的好處是:同一代碼能支持所有格式——不管它是ISMA還是ODBC數(shù)據(jù)源。

2.RDO(Remote Data Objects,遠程數(shù)據(jù)對象)體系結(jié)構(gòu)及性能特點

RDO的體系結(jié)構(gòu):RDO 是一種對象框架和對象集合,RDO的對象層次與ODBC 的對象層次非常相似,RDO對象模型完全并行于ODBC的體系結(jié)構(gòu)。在RDO對象框架的頂層是rdoEngine,rdoEngine表示遠程數(shù)據(jù)源。所有的RDO應用程序都必須有一個rdoEngine對象的實例,rdoEngine對象是惟一的,它總是作為一個對象集合,所有其他對象都包含在集合中。rdoEnvironment在rdoEngine的下一層,主要用于設(shè)置某個給定數(shù)據(jù)庫連接將要使用的用戶ID和口令值及事務范圍。rdoEnvironment對象的下一層是 rdoConnection對象,它負責創(chuàng)建對數(shù)據(jù)源的連接。它通過使用OpenConnection啟動一個主連接。每個rdoConnection對象可以有rdoTable 、rdoResultset和rdoPreparedStatement對象集合。每個rdoTable對象表示一個數(shù)據(jù)庫表,每個rdoPreparedStatement對象表示一個預準備的SQL 語句,每個rdoResultset對象表示由一個由SQL Select語句返回的數(shù)據(jù)集;這些對象都可以包含rdoColumn對象。使用rdoParameter對象在本地程序變量和參數(shù)化查詢或存儲過程之間交換數(shù)據(jù)。rdoError對象包含任何由基本的ODBC操作生成的錯誤在VB的On Error句柄中,可以從rdoErrors集合中檢索指定的錯誤信息。

RDO的性能特點:RDO是VB與ODBC連接的推薦模式,是一個直接與 ODBC API連接的面向?qū)ο蠼涌冢孕枋褂肑et引擎。從RDO的層次模型可以看出,RDO兼具了ODBC API 與DAO二者的優(yōu)點:一方面它的層次結(jié)構(gòu)沒有DAO復雜,對象的創(chuàng)建和處理簡單;另一方面,RDO仍表露了ODBC API 的基層結(jié)構(gòu),可提供環(huán)境、連接和語句句柄。值得注意的是:RDO不能直接執(zhí)行改變數(shù)據(jù)庫規(guī)劃的操作,且僅能應用于32 的操作系統(tǒng)中。使用 RDO的應用程序可以繞過本地查詢處理程序而直接訪問ODBC數(shù)據(jù)源,這點與 DAO 不同,由于這一特點,RDO特別適合客戶/服務器應用程序的開發(fā)。如果你考慮采用一種直接與ODBC API一起使用的編程方法,那么,RDO是一種合適的解決方案。

3.ADO(ActiveX Data Objects,ActiveX 數(shù)據(jù)對象)體系結(jié)構(gòu)及性能特點

ADO的體系結(jié)構(gòu):ADO是使用層次對象框架實現(xiàn)的,但比DAO和RDO對象模型框架更簡單。在ADO對象模型中,Connecton,Recordset和Command對象是三個主要的對象。Connecton對象表示對遠程數(shù)據(jù)源的連接。除了創(chuàng)建數(shù)據(jù)源的 連接外,Connecton還可以用來控制事務范圍。Connecton對象可與Recordset對象或Command對象關(guān)聯(lián)。Recordset對象表示從數(shù)據(jù)源返回的結(jié)果集。它可以使用一個打開的Connecton對象,也可以創(chuàng)建自己對目標數(shù)據(jù)源的連接;Recordset 對象允許查詢和修改數(shù)據(jù)。每個Recordset對象包含一個Field對象集。Command 對象用來執(zhí)行命令和參數(shù)化的SQL語句,可用于SQL語句和返回結(jié)果集的SQL 查詢。Command對象也可以使用一個打開的Connecton對象或創(chuàng)建自己對目標數(shù)據(jù)源的連接。

ADO的性能特點:ADO是DAO/RDO的后繼產(chǎn)物,集中了DAO和RDO的優(yōu)點。從ADO對象的層次模型看出,它包更少的對象、更多的屬性、方法、參數(shù)及事件。包含在DAO和RDO模型中的許多功能在ADO中被合并成單個對象,這樣就生成了一個簡單得多的對象模型。ADO是一種基于OLE DB的面向?qū)ο蟾邔訑?shù)據(jù)庫訪問接口,是VB的最新數(shù)據(jù)庫訪問技術(shù)。ADO封裝了OLE DB并實現(xiàn)了OLE DB 的所有功能,它在繼承了LE DB優(yōu)點的同時,大大減化了OLE DB的操作。ADO支持建立客戶/服務器和基于Web的應用程序的關(guān)鍵功能,給出了單一或多客戶/服務器和Web數(shù)據(jù)開發(fā)的解決方案。正因為ADO具有上述這些技術(shù)優(yōu)勢,所以它的應用前景十分看好。

二、三種VB數(shù)據(jù)庫訪問技術(shù)比較及其適用場合

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

RDO是一個到ODBC的、面向?qū)ο蟮臄?shù)據(jù)訪問接口。它與 DAO Style組合起來,形式上展示出所有ODBC的底層功能和靈活性,提供了對ODBC數(shù)據(jù)源更直接的訪問方式。它兼具 DAO和ODBC API二者的優(yōu)點:一方面,它較DAO層次結(jié)構(gòu)簡單,便于對象的創(chuàng)建和處理;另一方面,它表露了ODBC的底層結(jié)構(gòu),提供環(huán)境、連接和語句句柄。此外,RDO還提供了用來訪問存儲過程和復雜結(jié)果的更多、更復雜的對象、屬性和方法,因此,盡管它只能通過現(xiàn)存的ODBC驅(qū)動程序訪問關(guān)系數(shù)據(jù)庫,并在訪問Jet或ISAM數(shù)據(jù)庫方面受到某些限制, 但它在許多大型關(guān)系數(shù)據(jù)庫應用程序開發(fā)的仍被證明是一種比較好的選擇。

ADO是一種新的數(shù)據(jù)庫訪問技術(shù),是特別為客戶/服務器應用程序開發(fā)而設(shè)計的。作為DAO和RDO的后繼者,它提供了類似DAO和RDO的功能,主要包括RDO風格的功能性。然而,ADO 更加靈活的對象模型允許其有效地用于各種各樣的應用程序。DAO對象模型主要用于Jet引擎,RDO對象模型主要用于ODBC數(shù)據(jù)訪問,而ADO對象模型主要用于OLE DB。Jet和ODBC主要是針對數(shù)據(jù)庫訪問,而OLE DB對許多不同的數(shù)據(jù)源提供多機種環(huán)境的數(shù)據(jù)訪問。Microsoft公司已將 ADO作為數(shù)據(jù)存取API的未來選擇;VBScript以使用ADO,這使它很適合服務器/數(shù)據(jù)庫的整合。因此,ADO是客戶/服務器和基于Web的應用程序開發(fā)的首選。隨著數(shù)據(jù)庫訪問技術(shù)的不斷發(fā)展,ADO將成為數(shù)據(jù)庫訪問技術(shù)的主流。

參考文獻:

[1]鄭 沫:Microsoft SQL Server 7.0開發(fā)實例精解[M].北京:北京希望電子出版社,2000

[2]張宏民:Visual Basic 6.0編程實例精解[M].北京:北京希望電子出版社,2000

[3]夏慶梅 熊華鋼:VB訪問SQL Server的三種數(shù)據(jù)訪問接口的研究[J].計算機應用研究 2001,18(12),44~47

主站蜘蛛池模板: 欧美精品不卡| 色九九视频| 露脸一二三区国语对白| 色老二精品视频在线观看| 国产一级毛片高清完整视频版| 亚洲最大在线观看| 少妇高潮惨叫久久久久久| 国产男人天堂| 亚洲人成在线免费观看| 亚洲手机在线| 欧美色图久久| 国产女人在线视频| 直接黄91麻豆网站| 99视频在线看| 精品国产Ⅴ无码大片在线观看81| 色噜噜综合网| 欧美日韩高清| 女人18毛片久久| 成色7777精品在线| 亚洲无码视频一区二区三区| 国产在线精彩视频论坛| 好吊色妇女免费视频免费| 国产欧美视频综合二区| 97国内精品久久久久不卡| 日本精品中文字幕在线不卡| 亚洲中文字幕国产av| 国产免费黄| 国产在线视频自拍| 五月婷婷激情四射| 美女免费黄网站| 国产成人精品高清在线| 大乳丰满人妻中文字幕日本| 国产精品嫩草影院av | 九九热精品在线视频| 亚洲中文字幕久久无码精品A| 亚洲成人黄色在线| 手机在线免费不卡一区二| 色婷婷在线影院| 无码免费视频| 亚洲自拍另类| 制服丝袜一区| 一本大道香蕉久中文在线播放| 国产女人在线| 婷婷激情亚洲| AV天堂资源福利在线观看| 日韩二区三区无| 在线免费不卡视频| 五月婷婷精品| 国产亚洲精品91| 国产成人亚洲精品无码电影| 制服无码网站| 日本成人不卡视频| 国产综合无码一区二区色蜜蜜| 免费Aⅴ片在线观看蜜芽Tⅴ| 亚洲人成影院午夜网站| 四虎成人免费毛片| 伊人色在线视频| 国产精品极品美女自在线| 久久久久人妻一区精品| 尤物亚洲最大AV无码网站| 国产精品免费露脸视频| 色成人亚洲| 一级毛片免费观看久| 色有码无码视频| 亚洲女人在线| 亚洲一级毛片在线观| 99精品国产高清一区二区| 免费av一区二区三区在线| 视频一本大道香蕉久在线播放 | 国产v欧美v日韩v综合精品| 亚洲天堂日韩在线| 少妇被粗大的猛烈进出免费视频| 国产日韩欧美成人| 又粗又硬又大又爽免费视频播放| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 不卡国产视频第一页| 麻豆a级片| 亚洲男女在线| 国产激情无码一区二区免费| 中文国产成人精品久久| 亚洲AV无码乱码在线观看裸奔| 色综合久久88|