VB考試教程:探索ActiveX數(shù)據(jù)對象(ADO)

字號:

五、探索ActiveX數(shù)據(jù)對象(ADO)
    在這一節(jié)里,將接觸到微軟的一個數(shù)據(jù)庫新技術,也就是所謂的ActiveX數(shù)據(jù)對象(ADO)。你將學習如何安裝和使用ADO ActiveX控件、如何在你的窗體中使用綁定控件顯示數(shù)據(jù)庫記錄和字段、以及如何編寫程序代碼來管理ADO事務。另外,你還將學習使用一個特殊的工具來生成你自己的ActiveX數(shù)據(jù)對象,這個工具就是數(shù)據(jù)環(huán)境設計器(Data Environment Designer)。這些技巧將有助于獨立地管理Microsoft Access數(shù)據(jù)庫、企業(yè)內(nèi)部網(wǎng)數(shù)據(jù)庫、以及在World Wide Web上的分布式數(shù)據(jù)庫對象。
    1、ADO內(nèi)幕
    ADO是Microsoft處理關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫中信息的新技術(關系數(shù)據(jù)庫管理系統(tǒng)用表來操縱信息,但并非所有的數(shù)據(jù)源都遵從這一模式)。ADO沒有完全取代你在前面已經(jīng)使用過的現(xiàn)有數(shù)據(jù)庫技術——數(shù)據(jù)訪問對象(DAO),但是它確實把DAO的編程擴展到了新的領域。ADO基于微軟新的被稱為OLE DB的數(shù)據(jù)訪問模式。它是專門為了給大范圍的商業(yè)數(shù)據(jù)源提供訪問而設計的,包括傳統(tǒng)的關系數(shù)據(jù)庫表、電子郵件系統(tǒng)、圖形格式、Internet資源等等。ADO比DAO所需的內(nèi)存更少,所以它更適合于大流量和大事務量的網(wǎng)絡計算機系統(tǒng)。
    三種數(shù)據(jù)庫編程方式
    這些年以來,Microsoft已經(jīng)為Visual Basic編程人員提供了三種不同的數(shù)據(jù)庫編程方式,Visual Basic 6全面支持其中的每一種方式。請掌握這些縮寫。
    DAO——數(shù)據(jù)訪問對象(DAO)方式是允許程序員操縱Microsoft Jet數(shù)據(jù)庫引擎的第一個面向?qū)ο蟮慕涌?。Jet數(shù)據(jù)庫引擎是一種用來訪問Microsoft Access表和其它數(shù)據(jù)源的記錄和字段的技術。對于單一系統(tǒng)的數(shù)據(jù)庫應用程序來說,DAO依然很受歡迎并且非常有效;在中等規(guī)模工作組的網(wǎng)絡中,DAO也有少量的應用。
    RDO——遠程數(shù)據(jù)對象(RDO)方式是提供給開放數(shù)據(jù)庫互連(ODBC)數(shù)據(jù)源的面向?qū)ο蟮慕涌凇DO是開發(fā)Microsoft SQL Server、Oracle、和其它大型關系數(shù)據(jù)庫應用程序的絕大多數(shù)數(shù)據(jù)庫開發(fā)者使用的對象模型。
    ADO——ActiveX數(shù)據(jù)對象(ADO)方式是DAO和RDO方式的繼承者,它也有一個類似的對象模式。在ADO方式中,可編程對象展示了你的計算機上所有可獲取的本地和遠程數(shù)據(jù)源。在Visual Basic 6專業(yè)版中,通過使用新的ADO控件、通過把數(shù)據(jù)對象綁定到內(nèi)置控件和ActiveX 控件、通過創(chuàng)建DHTML應用程序、以及通過使用新的數(shù)據(jù)環(huán)境設計器等方法,你都可以訪問這些可編程數(shù)據(jù)對象。
    Microsoft建議Visual Basic程序員在用Visual Basic創(chuàng)建新的數(shù)據(jù)庫應用程序時使用ADO方法,而且Microsoft在Visual Basic 6的專業(yè)版中已經(jīng)包含了幾種專門為支持ADO而設計的特性。然而,ADO是一種剛剛出現(xiàn)的技術,只有當你牢固的掌握了前面已經(jīng)討論過的基本數(shù)據(jù)庫編程概念之后,你才能去探索它。這些概念包括:使用內(nèi)置的數(shù)據(jù)控件、用綁定控件顯示數(shù)據(jù)、用事件過程管理記錄和字段、用FlexGrid控件顯示和排序記錄等等。當你升級到ADO時,你將會以全新的角度去看待數(shù)據(jù)庫信息。
    2、使用ADO ActiveX控件
    按照ADO的設計方案,ADO控件沒有DatabaseName(數(shù)據(jù)庫名稱)屬性讓你直接連接到計算機中的某個數(shù)據(jù)庫文件上。取而代之的是,ADO控件包括一個ConnectionString(連接字符串)屬性讓你連接到計算機上某個ActiveX數(shù)據(jù)源。一系列的對話框會幫助你完成這種連接,并且,你可以通過使用數(shù)據(jù)環(huán)境設計器(Data Environment Designer)在已有數(shù)據(jù)源基礎上建立新的數(shù)據(jù)對象的方法來定制連接過程。(本課后面你就會學到如何完成這項任務)。
    一旦你理解了ADO和DAO在實際應用中的區(qū)別,你就會發(fā)現(xiàn)ADO控件與內(nèi)置的數(shù)據(jù)(Data)控件十分的相似。在下面這部分中,將學習如何將ADO控件添加到工具箱中、如何設置ConnectionString(連接字符串)屬性、以及如何在你的窗體中用幾個綁定控件顯示數(shù)據(jù)庫記錄。你也會掌握ADO程序代碼的基本用法。
    使用ADO ActiveX控件的基本步驟如下:
    安裝ADO控件
    ADO控件是個ActiveX控件,在程序中使用該控件之前,必須首先把它添加到工具箱中(Microsoft ADO Data Control 6.0 )。
    創(chuàng)建ADO對象并綁定控件
    單擊工具箱中的ADO控件,在窗體上創(chuàng)建一個較小的矩形ADO對象。
    就像前面內(nèi)容中使用的數(shù)據(jù)(Data)控件一樣,ADO控件用四個箭頭創(chuàng)建了數(shù)據(jù)庫的導航裝置。程序運行時,當此對象可見并且連接到適當?shù)臄?shù)據(jù)庫后,你就可以單擊左面的箭頭移動到數(shù)據(jù)庫的第一條記錄,右面的箭頭移動到數(shù)據(jù)庫的后一條記錄,中間兩個箭頭讓你分別移動到前一條記錄或后一條記錄。
    向窗體中添加兩個文本框控件,用它們來顯示數(shù)據(jù)庫中的兩個字段(綁定控件)。
    創(chuàng)建數(shù)據(jù)源名稱
    如果使用的是Data(數(shù)據(jù))控件,只需要簡單地把數(shù)據(jù)控件的DatabaseName屬性設置為你系統(tǒng)中的一個合法數(shù)據(jù)庫的路徑名稱,就可以把它連接到數(shù)據(jù)庫上了。但是,ADO的設計者為了將來的靈活性,要求完成更多的預處理步驟。這需要通過創(chuàng)建一個ActiveX數(shù)據(jù)對象來描述將要連接到的數(shù)據(jù)庫記錄。當創(chuàng)建數(shù)據(jù)對象時,可以有三個選項:你可以創(chuàng)建一個OLE DB文件;也可以創(chuàng)建一個ODBC數(shù)據(jù)源名稱(DSN)文件;還可以建立一個OLE DB連接字符串。數(shù)據(jù)環(huán)境設計器(Data Environment Designer)正是為幫助你創(chuàng)建ActiveX數(shù)據(jù)對象而專門設計的(在本課后面部分你將會試一試這個設計器)。當然,你也可以通過使用ADO控件的ConnectionString屬性來創(chuàng)建所需的文件。