關(guān)于Visual的論文
關(guān)于Visual的論文
下面是小編為你整理整合了關(guān)于計(jì)算機(jī)的論文,歡迎閱讀,希望對(duì)你有幫助。
摘 要 從VB數(shù)據(jù)庫體系結(jié)構(gòu)的角度探討了VB對(duì)數(shù)據(jù)庫的支持,并結(jié)合了一些代碼具體闡述了使用DAO(Data Access Object Variable)和RDO(Remote Data Control)兩種方法,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫的訪問。
關(guān)鍵詞 控件 數(shù)據(jù)庫 接口
Visual Basic專業(yè)版是一種廣泛使用的數(shù)據(jù)庫編程語言,提供了對(duì)數(shù)據(jù)庫應(yīng)用的強(qiáng)大支持。VB訪問數(shù)據(jù)庫的方法大致有三類:使用數(shù)據(jù)綁定控件,使用數(shù)據(jù)庫存取對(duì)象變量(Data Access Object Vari?鄄able),直接調(diào)用ODBC 2.0 API接口函數(shù)。
1 VB的數(shù)據(jù)庫結(jié)構(gòu)
VB數(shù)據(jù)庫的核心結(jié)構(gòu)是MicroSoft Jet數(shù)據(jù)庫引擎,JET引擎的作用是支持多種ISAM(Indexed Sequential Access Method,即索引順序存取方 法) 數(shù)據(jù)驅(qū)動(dòng)程序。VB環(huán)境下Access是缺省的數(shù)據(jù)格式,對(duì)于其他的關(guān)系型數(shù)據(jù)庫如Fox?鄄Pro、Dbase(或 Xbase)、Paradox、Btrieve等,VB的專業(yè)版可兼容其驅(qū)動(dòng)程序,這就使得VB能支持這些數(shù)據(jù)庫格式。由上可見,Ms JET引擎實(shí)質(zhì)上提供了:一個(gè)符合ANSI標(biāo)準(zhǔn)的語法分析器;為查詢結(jié)果集的使用而提供的內(nèi)存管理功能;同所支持的數(shù)據(jù)庫的外部接口;為應(yīng)用代碼提供的內(nèi)部接口。
2 VB訪問數(shù)據(jù)庫的原則和方法
2.1 VB訪問數(shù)據(jù)庫的原則
2.1.1 代碼的重用和運(yùn)行的效率
VB程序設(shè)計(jì)中,應(yīng)盡可能減少代碼的重復(fù)編寫,提高運(yùn)行效率。例如:通過使用ODBC數(shù)據(jù)源連接數(shù)據(jù)庫的方法,可在變換多種數(shù)據(jù)庫類型的情況下,而不用頻繁修改代碼。用VBSQL通過DB-Library就做不到。而ODBC接口并不是VB訪問數(shù)據(jù)庫運(yùn)行效率最高的方法。同樣,同是使用ODBC接口的ADO的效率要高于RDO。
2.1.2 實(shí)現(xiàn)的簡便性,易維護(hù)性
如果一種方法實(shí)現(xiàn)起來很復(fù)雜,工程的開發(fā)必然造成人力物力的浪費(fèi),同時(shí)這樣設(shè)計(jì)出來的應(yīng)用程序只會(huì)支持起來更復(fù)雜或維護(hù)時(shí)更困難。例如:本地需要 訪問ISAM 或Jet 類型數(shù)據(jù)源,那么就使用DAO/Jet,而沒有必要使用通過ODBC的方法。RDC實(shí)現(xiàn)起來要較RDO更容易。
2.1.3 安全原則
這一條應(yīng)根據(jù)環(huán)境和條件決定。例如局域網(wǎng)的網(wǎng)絡(luò)安全性要好于廣域網(wǎng),因而可直接利用數(shù)據(jù)控件DC,這樣實(shí)現(xiàn)起來方便快捷,而廣域網(wǎng)需要大量的錯(cuò)誤捕獲,如用RDC就不如用RDO易控制錯(cuò)誤。
2.2 數(shù)據(jù)訪問接口功能及含義
ADC(Advanced Data Connector):高級(jí)數(shù)據(jù)連接器, 提供綁定ADO數(shù)據(jù)源到窗體的數(shù)據(jù)綁定控件上。ADC主要是一種直接訪問或者通過ADO訪問遠(yuǎn)程OLE DB對(duì)象的一種技術(shù),它也支持主要應(yīng)用在微軟IE瀏覽器上的數(shù)據(jù)綁定控件。它是特地為Web上的瀏覽器為基礎(chǔ)的應(yīng)用程序而設(shè)計(jì)的。
ADO(Active Data Objects):Active 數(shù)據(jù)對(duì)象,ADO實(shí)際是一種提供訪問各種數(shù)據(jù)類型的連接機(jī)制。ADO設(shè)計(jì)為一種極簡單的格式,通過ODBC的方法同數(shù)據(jù)庫接口。可以使 用任何一種ODBC數(shù)據(jù)源,即不止適合于SQL Server、Oracle、Access等數(shù)據(jù)庫應(yīng)用程序,也適合于Ex?鄄cel表格、 文本文件、 圖形文件和無格式的數(shù)據(jù)文件。ADO是基于OLE-DB 之 上的技術(shù),因此ADO通過其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。
DAO(Data Access Objects):數(shù)據(jù)訪問對(duì)象,是一種面向?qū)ο蟮慕缑娼涌凇Mㄟ^DAO/Jet 功能可以訪問ISAM 數(shù)據(jù)庫,使用DAO/ ODBC Direct功能可以實(shí)現(xiàn)遠(yuǎn)程RDO功能。使用DAO的程序編碼非常簡單,DAO提供豐富的游標(biāo)(Cursor)類型的結(jié)果集和非游標(biāo)(Cursor-Less)類型的結(jié)果集,同DDL( 數(shù)據(jù)描述語言)的功能很類似。 DAO模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的對(duì)象類的集合。它們提供了完成管理這樣一個(gè)系統(tǒng)所的全部操作的屬性和方法,包括創(chuàng)建數(shù)據(jù)庫,定義表、字段和索引,建立表間的關(guān)系,定位和查詢數(shù)據(jù)庫等工具。
JET(Joint Engine Technology):數(shù)據(jù)連接性引擎技術(shù),是一種基于工作站通過DAO的數(shù)據(jù)庫訪問機(jī)制。雖然可以通過微軟Access提供的ODBC驅(qū)動(dòng)程序訪問Jet數(shù)據(jù)庫,但使用這些驅(qū)動(dòng)程序在功能上有所限制。Jet機(jī)制有自己的查詢和結(jié)果集處理功能,并可對(duì)同種或異種數(shù)據(jù)源作查詢處理。
ODBC(Open Database Connectivity):開放式的數(shù)據(jù)庫連接,是一種公認(rèn)的關(guān)系數(shù)據(jù)源的接口界面。提供統(tǒng)一接口的界面,ODBC對(duì)任何數(shù)據(jù)源都未作優(yōu)化。
ODBC Direct:是一種基于DAO對(duì)象的新的DAO模式, 其方法和屬性與RDO功能相同。使用在有DAO代碼存在的場合,可用來訪問遠(yuǎn)程數(shù)據(jù)源。
OLE DB:是一種底層數(shù)據(jù)訪問界面接口。是用于第三方驅(qū)動(dòng)程序商家開發(fā)輸出數(shù)據(jù)源到ADO技術(shù)的應(yīng)用程序或用于C++的開發(fā)者開發(fā)定制的數(shù)據(jù)庫組件。OLE DB不能被VB 直接調(diào)用。
RDC(Remote Data Control):遠(yuǎn)程數(shù)據(jù)訪問控件,是一種對(duì)RDO 數(shù)據(jù)綁定的控件。可以輸出特定的結(jié)果集到數(shù)據(jù)源控件。
RDO(Remote Data Objects):遠(yuǎn)程數(shù)據(jù)對(duì)象,遠(yuǎn)程數(shù)據(jù)對(duì)象和集合為使用代碼來創(chuàng)建和操作一個(gè)遠(yuǎn)程ODBC 數(shù)據(jù)庫系統(tǒng)的各個(gè)部件提供了一個(gè)框架。對(duì)象和集合都具有描述數(shù)據(jù)庫的各個(gè)部件特征的屬性以及用來操作這些部件的方法??梢栽趯?duì)象和集合之間建立起關(guān)系,這些關(guān)系就代表了數(shù)據(jù)庫系統(tǒng)的邏輯結(jié)構(gòu)。RDO是ODBC API的一個(gè)淺層界面接口。是專為訪問遠(yuǎn)程ODBC 關(guān)系數(shù)據(jù)源而設(shè)計(jì)的。
VBSQL:是Visual Basic 結(jié)構(gòu)化查詢語言。 是一種基于API 的接口方法, 幾乎與C 的DB-Library API 相同,VBSQL 只支持微軟的SQL Server。VBSQL 快而且輕但不支持對(duì)象界面。
2.3 VB訪問數(shù)據(jù)庫的方法
VB訪問數(shù)據(jù)庫的方法很多,一般情況下分成三大類,而每一類又有很多方法。下面列出每一類,及每一類包含的方法。
2.3.1 數(shù)據(jù)控件法
數(shù)據(jù)庫綁定的控件來實(shí)現(xiàn)數(shù)據(jù)的輸入、顯示、篩選等接口界面。表1列舉了VB支持的多種數(shù)據(jù)源訪問控件,在VB和COM界面接口之間起著媒介作用。這些控件提供了一種減少代碼實(shí)現(xiàn)數(shù)據(jù)訪問的途徑。程序員可以使用同樣的對(duì)象、屬性和方法來處理各種不同的數(shù)據(jù)庫格式。也可從一種數(shù)據(jù)庫格式變到另一種格式(例如,將本地的Mi?鄄crosoft Access數(shù)據(jù)庫轉(zhuǎn)換為網(wǎng)絡(luò)上的SQL Server數(shù)據(jù)庫),也可在單一的查詢或報(bào)表中連接來自多個(gè)不同數(shù)據(jù)庫的表。
2.3.2 數(shù)據(jù)庫存取對(duì)象變量(Data Access Object Variable)
表2列舉了使用DAO訪問數(shù)據(jù)庫的對(duì)象和方法。
2.3.3 數(shù)據(jù)接口法
表3列出了目前在VB6中有效的數(shù)據(jù)訪問接口方法,有些是簡單的應(yīng)用程序接口界面(APIs),有些是組件對(duì)象模型界面(COM)。這兩類數(shù)據(jù)庫接口界面事實(shí)上在任何一種開發(fā)語言中都包括。
3 總結(jié)
近來隨著Web應(yīng)用軟件的迅速發(fā)展和現(xiàn)有數(shù)據(jù)存儲(chǔ)形式的多種多樣,Visual Basic訪問數(shù)據(jù)庫的解決方案面臨諸多挑戰(zhàn)。為此Microsoft 提出一種新的數(shù)據(jù)庫訪問策略,即“統(tǒng)一數(shù)據(jù)訪問”(Universal Data Access)的策略。“統(tǒng)一數(shù)據(jù)訪問”提供了高性能的存取包括關(guān)系型和非關(guān)系型在內(nèi)的多種數(shù)據(jù)源,提供獨(dú)立于開發(fā)工具和開發(fā)語言的簡單的編程接口,這些技術(shù)使得企業(yè)集成多種數(shù)據(jù)源、選擇更好的開發(fā)工具、應(yīng)用軟件、操作平臺(tái)、建立容易維護(hù)的解決方案成為可能。“統(tǒng)一數(shù)據(jù)訪問”(Universal Data Access)的基礎(chǔ)是Mi?鄄crosoft 的數(shù)據(jù)訪問組件。這些組件包括ActiveX Data Objects(ADO)、Remote Data Service(RDS,也稱“高級(jí)數(shù)據(jù)連接器”或ADC)、OLE DB和ODBC??傊?,在VB中訪問數(shù)據(jù)庫的方法很多,根據(jù)具體的環(huán)境、條件、要求而采用適當(dāng)?shù)姆桨浮?/p>
參考文獻(xiàn)
1 冷向君.Visual Basic 中文版入門與提高[M].北京:清華大學(xué)出版社,1998
2 李昭原,羅曉沛.數(shù)據(jù)庫技術(shù)新進(jìn)展[M].北京:清華大學(xué)出版社,1997
3 Steven Holzner.Visual Basic 6.0技術(shù)內(nèi)幕[M].北京:機(jī)械工業(yè)出版社,1997
4 Jiawei Han,Miccheline Kamber.數(shù)據(jù)挖掘概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社
5 曾強(qiáng)聰,趙歆,楊莉.Visual Basic 6.0 程序設(shè)計(jì)教程[M].中國水利水電出版社,1999
計(jì)算機(jī)論文相關(guān)文章: