• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      VB數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)技術(shù)

      2009-09-30 05:25:40鄧素安
      新課程·上旬 2009年22期
      關(guān)鍵詞:接口控件數(shù)據(jù)庫(kù)

      鄧素安

      摘 要:從VB數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的角度探討了VB對(duì)數(shù)據(jù)庫(kù)的支持,并結(jié)合了一些代碼具體闡述了使用DAO(Data Access Object)和RDO(Remote Data Object)兩種方法,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)。

      關(guān)鍵詞:控件 數(shù)據(jù)庫(kù) 接口

      Visual Basic專(zhuān)業(yè)版是一種廣泛使用的數(shù)據(jù)庫(kù)編程語(yǔ)言,提供了對(duì)數(shù)據(jù)庫(kù)應(yīng)用的強(qiáng)大支持。VB訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的方法大致有三類(lèi):使用數(shù)據(jù)綁定控件,使用數(shù)據(jù)庫(kù)存取對(duì)象變量(Data Access Object Variable),直接調(diào)用ODBC 2.0 API接口函數(shù)。

      一、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)程序。VB環(huán)境下Access是缺省的數(shù)據(jù)格式,對(duì)于其他的關(guān)系型數(shù)據(jù)庫(kù)如FoxPro、Dbase(或 Xbase)、Paradox、Btrieve等,VB的專(zhuān)業(yè)版可兼容其驅(qū)動(dòng)程序,這就使得VB能支持這些數(shù)據(jù)庫(kù)格式。由上可見(jiàn),Ms JET引擎實(shí)質(zhì)上提供了:一個(gè)符合ANSI標(biāo)準(zhǔn)的語(yǔ)法分析器;為查詢(xún)結(jié)果集的使用而提供的內(nèi)存管理功能;同所支持的數(shù)據(jù)庫(kù)的外部接口;為應(yīng)用代碼提供的內(nèi)部接口。

      二、VB訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的原則和方法

      1.VB訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的原則

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

      VB程序設(shè)計(jì)中,應(yīng)盡可能減少代碼的重復(fù)編寫(xiě),提高運(yùn)行效率。例如:通過(guò)使用ODBC數(shù)據(jù)源連接數(shù)據(jù)庫(kù)的方法,可在變換多種數(shù)據(jù)庫(kù)類(lèi)型的情況下,而不用頻繁修改代碼。用VBSQL通過(guò)DB-Library就做不到。而ODBC接口并不是VB訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)運(yùn)行效率最高的方法。同樣,同是使用ODBC接口的ADO的效率要高于RDO。

      (2)實(shí)現(xiàn)的簡(jiǎn)便性,易維護(hù)性

      如果一種方法實(shí)現(xiàn)起來(lái)很復(fù)雜,工程的開(kāi)發(fā)必然造成人力物力的浪費(fèi),同時(shí)這樣設(shè)計(jì)出來(lái)的應(yīng)用程序只會(huì)支持起來(lái)更復(fù)雜或維護(hù)時(shí)更困難。例如:本地需要訪(fǎng)問(wèn)ISAM或Jet 類(lèi)型數(shù)據(jù)源,那么就使用DAO/Jet,而沒(méi)有必要使用通過(guò)ODBC的方法。RDC實(shí)現(xiàn)起來(lái)要較RDO更容易。

      (3)安全原則

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

      2.數(shù)據(jù)訪(fǎng)問(wèn)接口功能及含義

      ADC(Advanced Data Connector):高級(jí)數(shù)據(jù)連接器, 提供綁定ADO數(shù)據(jù)源到窗體的數(shù)據(jù)綁定控件上。ADC主要是一種直接訪(fǎng)問(wèn)或者通過(guò)ADO訪(fǎng)問(wèn)遠(yuǎn)程O(píng)LE DB對(duì)象的一種技術(shù),它也支持主要應(yīng)用在微軟IE瀏覽器上的數(shù)據(jù)綁定控件。它是特地為Web上的瀏覽器為基礎(chǔ)的應(yīng)用程序而設(shè)計(jì)的。

      ADO(Active Data Objects):Active 數(shù)據(jù)對(duì)象,ADO實(shí)際是一種提供訪(fǎng)問(wèn)各種數(shù)據(jù)類(lèi)型的連接機(jī)制。ADO設(shè)計(jì)為一種極簡(jiǎn)單的格式,通過(guò)ODBC的方法同數(shù)據(jù)庫(kù)接口??梢允?用任何一種ODBC數(shù)據(jù)源,即不止適合于SQL Server、Oracle、Access等數(shù)據(jù)庫(kù)應(yīng)用程序,也適合于Excel表格、 文本文件、 圖形文件和無(wú)格式的數(shù)據(jù)文件。ADO是基于OLE-DB之上的技術(shù),因此ADO通過(guò)其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪(fǎng)問(wèn)接口方法。

      DAO(Data Access Objects):數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象,是一種面向?qū)ο蟮慕缑娼涌?。通過(guò)DAO/Jet 功能可以訪(fǎng)問(wèn)ISAM 數(shù)據(jù)庫(kù),使用DAO/ODBC Direct功能可以實(shí)現(xiàn)遠(yuǎn)程RDO功能。使用DAO的程序編碼非常簡(jiǎn)單,DAO提供豐富的游標(biāo)(Cursor)類(lèi)型的結(jié)果集和非游標(biāo)(Cursor-Less)類(lèi)型的結(jié)果集,同DDL(數(shù)據(jù)描述語(yǔ)言)的功能很類(lèi)似。DAO模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類(lèi)的集合。它們提供了完成管理這樣一個(gè)系統(tǒng)所的全部操作的屬性和方法,包括創(chuàng)建數(shù)據(jù)庫(kù),定義表、字段和索引,建立表間的關(guān)系,定位和查詢(xún)數(shù)據(jù)庫(kù)等工具。

      JET(Joint Engine Technology):數(shù)據(jù)連接性引擎技術(shù),是一種基于工作站通過(guò)DAO的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)機(jī)制。雖然可以通過(guò)微軟Access提供的ODBC驅(qū)動(dòng)程序訪(fǎng)問(wèn)Jet數(shù)據(jù)庫(kù),但使用這些驅(qū)動(dòng)程序在功能上有所限制。Jet機(jī)制有自己的查詢(xún)和結(jié)果集處理功能,并可對(duì)同種或異種數(shù)據(jù)源作查詢(xún)處理。

      ODBC(Open Database Connectivity):開(kāi)放式的數(shù)據(jù)庫(kù)連接,是一種公認(rèn)的關(guān)系數(shù)據(jù)源的接口界面。提供統(tǒng)一接口的界面,ODBC對(duì)任何數(shù)據(jù)源都未作優(yōu)化。

      ODBC Direct:是一種基于DAO對(duì)象的新的DAO模式,其方法和屬性與RDO功能相同。使用在有DAO代碼存在的場(chǎng)合,可用來(lái)訪(fǎng)問(wèn)遠(yuǎn)程數(shù)據(jù)源。

      OLE DB:是一種底層數(shù)據(jù)訪(fǎng)問(wèn)界面接口。是用于第三方驅(qū)動(dòng)程序商家開(kāi)發(fā)輸出數(shù)據(jù)源到ADO技術(shù)的應(yīng)用程序或用于C++的開(kāi)發(fā)者開(kāi)發(fā)定制的數(shù)據(jù)庫(kù)組件。OLE DB不能被VB直接調(diào)用。

      RDC(Remote Data Control):遠(yuǎn)程數(shù)據(jù)訪(fǎng)問(wèn)控件,是一種對(duì)RDO 數(shù)據(jù)綁定的控件??梢暂敵鎏囟ǖ慕Y(jié)果集到數(shù)據(jù)源控件。

      RDO(Remote Data Objects):遠(yuǎn)程數(shù)據(jù)對(duì)象,遠(yuǎn)程數(shù)據(jù)對(duì)象和集合為使用代碼來(lái)創(chuàng)建和操作一個(gè)遠(yuǎn)程O(píng)DBC 數(shù)據(jù)庫(kù)系統(tǒng)的各個(gè)部件提供了一個(gè)框架。對(duì)象和集合都具有描述數(shù)據(jù)庫(kù)的各個(gè)部件特征的屬性以及用來(lái)操作這些部件的方法??梢栽趯?duì)象和集合之間建立起關(guān)系,這些關(guān)系就代表了數(shù)據(jù)庫(kù)系統(tǒng)的邏輯結(jié)構(gòu)。RDO是ODBC API的一個(gè)淺層界面接口。是專(zhuān)為訪(fǎng)問(wèn)遠(yuǎn)程O(píng)DBC 關(guān)系數(shù)據(jù)源而設(shè)計(jì)的。

      VBSQL:是Visual Basic 結(jié)構(gòu)化查詢(xún)語(yǔ)言。是一種基于API的接口方法, 幾乎與C的DB-Library API相同,VBSQL只支持微軟的SQL Server。VBSQL 快而且輕但不支持對(duì)象界面。

      3.VB訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的方法

      VB訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的方法很多,一般情況下分成三大類(lèi),而每一類(lèi)又有很多方法。下面列出每一類(lèi),及每一類(lèi)包含的方法。

      (1)數(shù)據(jù)控件法

      數(shù)據(jù)庫(kù)綁定控件來(lái)實(shí)現(xiàn)數(shù)據(jù)的輸入、顯示、篩選等接口界面。VB支持多種數(shù)據(jù)源訪(fǎng)問(wèn)控件,在VB和COM界面接口之間起著媒介作用。這些控件提供了一種減少代碼實(shí)現(xiàn)數(shù)據(jù)訪(fǎng)問(wèn)的途徑。程序員可以使用同樣的對(duì)象、屬性和方法來(lái)處理各種不同的數(shù)據(jù)庫(kù)格式。也可從一種數(shù)據(jù)庫(kù)格式變到另一種格式(例如,將本地的Microsoft Access數(shù)據(jù)庫(kù)轉(zhuǎn)換為網(wǎng)絡(luò)上的SQL Server數(shù)據(jù)庫(kù)),也可在單一的查詢(xún)或報(bào)表中連接來(lái)自多個(gè)不同數(shù)據(jù)庫(kù)的表。

      (2)數(shù)據(jù)庫(kù)存取對(duì)象變量(Data Access Object Variable)

      使用DAO訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的對(duì)象和方法。

      (3)數(shù)據(jù)接口法

      目前在VB6中有效的數(shù)據(jù)訪(fǎng)問(wèn)接口方法中,有些是簡(jiǎn)單的應(yīng)用程序接口界面(APIs),有些是組件對(duì)象模型界面(COM)。這兩類(lèi)數(shù)據(jù)庫(kù)接口界面事實(shí)上在任何一種開(kāi)發(fā)語(yǔ)言中都包括。

      三、總結(jié)

      近來(lái)隨著Web應(yīng)用軟件的迅速發(fā)展和現(xiàn)有數(shù)據(jù)存儲(chǔ)形式的多種多樣,Visual Basic訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的解決方案面臨諸多挑戰(zhàn)。為此Microsoft 提出一種新的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)策略,即“統(tǒng)一數(shù)據(jù)訪(fǎng)問(wèn)”(Universal Data Access)的策略。“統(tǒng)一數(shù)據(jù)訪(fǎng)問(wèn)”提供了高性能的存取包括關(guān)系型和非關(guān)系型在內(nèi)的多種數(shù)據(jù)源,提供獨(dú)立于開(kāi)發(fā)工具和開(kāi)發(fā)語(yǔ)言的簡(jiǎn)單的編程接口,這些技術(shù)使得企業(yè)集成多種數(shù)據(jù)源、選擇更好的開(kāi)發(fā)工具、應(yīng)用軟件、操作平臺(tái)、建立容易維護(hù)的解決方案成為可能。“統(tǒng)一數(shù)據(jù)訪(fǎng)問(wèn)”(Universal Data Access)的基礎(chǔ)是Microsoft 的數(shù)據(jù)訪(fǎng)問(wèn)組件。這些組件包括ActiveX Data Objects(ADO)、Remote Data Service(RDS,也稱(chēng)“高級(jí)數(shù)據(jù)連接器”或ADC)、OLE DB和ODBC??傊?在VB中訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的方法很多,根據(jù)具體的環(huán)境、條件、要求而采用適當(dāng)?shù)姆桨浮?/p>

      參考文獻(xiàn):

      1.冷向君.Visual Basic 中文版入門(mén)與提高[M].北京:清華大學(xué)出版社,1998

      2.李昭原,羅曉沛.數(shù)據(jù)庫(kù)技術(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].中國(guó)水利水電出版社,1999

      作者單位:湖南省洞口縣職業(yè)中專(zhuān)(一職)

      猜你喜歡
      接口控件數(shù)據(jù)庫(kù)
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      數(shù)據(jù)庫(kù)
      某電站工程設(shè)計(jì)管理與施工、質(zhì)量控制接口關(guān)系研究
      脫硝數(shù)據(jù)傳輸系統(tǒng)遠(yuǎn)程無(wú)線(xiàn)監(jiān)控技術(shù)的研發(fā)與應(yīng)用
      中文信息(2016年10期)2016-12-12 12:56:55
      西門(mén)子SPPA—T3000在委內(nèi)瑞拉燃機(jī)電廠中的應(yīng)用與接口
      數(shù)據(jù)庫(kù)
      數(shù)據(jù)庫(kù)
      中俄網(wǎng)絡(luò)語(yǔ)言編碼接口問(wèn)題的研究
      科技視界(2016年3期)2016-02-26 10:14:32
      數(shù)據(jù)庫(kù)
      就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      成安县| 黎城县| 连州市| 清水河县| 秦安县| 荆州市| 桂平市| 蒙自县| 增城市| 济源市| 托克托县| 巨野县| 尤溪县| 绥芬河市| 奉新县| 寿光市| 当涂县| 宁晋县| 上虞市| 平武县| 周至县| 天台县| 赤壁市| 新密市| 治多县| 新闻| 香格里拉县| 鹤庆县| 老河口市| 吕梁市| 望谟县| 巩留县| 太湖县| 尖扎县| 甘南县| 景宁| 临夏市| 万载县| 微山县| 同心县| 青州市|