visual basic有著強(qiáng)大的數(shù)據(jù)庫(kù)存取能力,不僅能夠直接支持ms access數(shù)據(jù)庫(kù),而且通過(guò)其內(nèi)部安裝的isam驅(qū)動(dòng)程序使它能間接支持foxpro、dbase等外來(lái)數(shù)據(jù)庫(kù)。本文不僅從vb數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的角度探討了vb對(duì)這些外來(lái)數(shù)據(jù)庫(kù)的支持,還結(jié)合了一些實(shí)例具體闡述了使用數(shù)據(jù)庫(kù)存取對(duì)象變量的方法實(shí)現(xiàn)這些外來(lái)數(shù)據(jù)庫(kù)的新建、庫(kù)結(jié)構(gòu)修改、顯示及其運(yùn)行環(huán)境設(shè)置。
visual basic access, 外來(lái)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)
存取對(duì)象變量庫(kù)結(jié)構(gòu)
作為一個(gè)功能較完備的windows軟件開(kāi)發(fā)平臺(tái),visual basic專(zhuān)業(yè)版提供了對(duì)數(shù)據(jù)庫(kù)應(yīng)用的強(qiáng)大支持。尤其提供了使用數(shù)據(jù)控件和綁定控制項(xiàng),使用數(shù)據(jù)庫(kù)存取對(duì)象變量(data access object variable),直接調(diào)用odbc 2.0 api接口函數(shù)等三種訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的方法。對(duì)其標(biāo)準(zhǔn)內(nèi)置的ms access數(shù)據(jù)庫(kù),它可以提供不弱于專(zhuān)業(yè)數(shù)據(jù)庫(kù)軟件的支持,可以進(jìn)行完整的數(shù)據(jù)庫(kù)維護(hù)、操作及其事務(wù)處理。在vb中,將非access數(shù)據(jù)庫(kù)稱(chēng)為設(shè)為首頁(yè)外來(lái)數(shù)據(jù)庫(kù)。對(duì)于foxpro、dbase、paradox等外來(lái)數(shù)據(jù)庫(kù)。雖然借助vb的datamanager能夠?qū)@些數(shù)據(jù)庫(kù)進(jìn)行new、open、design、delete等操作,但在應(yīng)用程序的運(yùn)行狀態(tài)中并不能從底層真正實(shí)現(xiàn)這些功能。本文從使用數(shù)據(jù)庫(kù)存取對(duì)象變量的方法出發(fā),實(shí)現(xiàn)了非access格式數(shù)據(jù)庫(kù)(以foxpro數(shù)據(jù)庫(kù)為例)的建新庫(kù)、拷貝數(shù)據(jù)庫(kù)結(jié)構(gòu)、動(dòng)態(tài)調(diào)入等操作,闡述了從編程技巧上彌補(bǔ)vb對(duì)這些外來(lái)數(shù)據(jù)庫(kù)支持不足的可行性。
vb數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)具體的vb的數(shù)據(jù)庫(kù)結(jié)構(gòu)。
vb數(shù)據(jù)庫(kù)的核心結(jié)構(gòu)是所謂的microsoft jet數(shù)據(jù)庫(kù)引擎,jet引擎的作用就像是一塊“面板”,在其上可以插入多種isam(indexed sequential access method,即索引順序存取方法)數(shù)據(jù)驅(qū)動(dòng)程序。jet引擎為access格式數(shù)據(jù)庫(kù)提供了直接的內(nèi)部(build-in)支持,這就是vb對(duì)access數(shù)據(jù)庫(kù)具有豐富支持的真正原因。vb專(zhuān)業(yè)版中提供了foxpro、dbase(或xbase)、paradox、btrieve等數(shù)據(jù)庫(kù)的isam驅(qū)動(dòng)程序,這就使得vb能支持這些數(shù)據(jù)庫(kù)格式。另外,其他的許多兼容isam的驅(qū)動(dòng)程序也可以通過(guò)從廠(chǎng)商的售后服務(wù)得到。因而從理論上說(shuō),vb能支持所有兼容isam的數(shù)據(jù)庫(kù)格式(前提是只需獲得這些數(shù)據(jù)庫(kù)的isam驅(qū)動(dòng)接口程序)。
由上可見(jiàn),msjet引擎實(shí)質(zhì)上提供了:一個(gè)符合ansi標(biāo)準(zhǔn)的語(yǔ)法分析器;為查詢(xún)結(jié)果集的使用而提供的內(nèi)存管理功能;同所支持的數(shù)據(jù)庫(kù)的外部接口;為應(yīng)用代碼提供的內(nèi)部接口。實(shí)際上,在vb中從一種數(shù)據(jù)庫(kù)類(lèi)型轉(zhuǎn)化為另一種數(shù)據(jù)庫(kù)類(lèi)型幾乎不需要或只需要很少的代碼修改。而且,盡管dbase、paradox本身的ddl(data definition language,即數(shù)據(jù)定義語(yǔ)言)和dml( data manipulation language,即數(shù)據(jù)操縱語(yǔ)言)是非結(jié)構(gòu)化查詢(xún)的,但它們?nèi)匀豢梢允褂胿b的sql語(yǔ)句和jet引擎來(lái)操縱。
從vb的程序代碼的角度來(lái)看,odbc,isam驅(qū)動(dòng)程序以及ms access數(shù)據(jù)庫(kù)的整個(gè)外部結(jié)構(gòu)夠可以統(tǒng)一為一個(gè)一致的編程接口。也即是說(shuō),提供給vb應(yīng)用程序員的記錄集對(duì)象視圖同所使用的數(shù)據(jù)庫(kù)格式及類(lèi)型是相互獨(dú)立的。即對(duì)foxpro等數(shù)據(jù)庫(kù)仍然可以使用眾多的數(shù)據(jù)庫(kù)存取對(duì)象變量,這就為非access數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)提供了最重要的方法。
相關(guān)推薦:2009年4月計(jì)算機(jī)等級(jí)二級(jí)考試VF程序設(shè)計(jì)輔導(dǎo)北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |