VB考試教程:使用數(shù)據(jù)對(duì)象瀏覽MicrosoftAccess數(shù)據(jù)庫(kù)

字號(hào):

數(shù)據(jù)庫(kù)是一個(gè)以電子化方式存儲(chǔ)于文件中的大量信息的有機(jī)組織的集合。你可以使用許多數(shù)據(jù)庫(kù)產(chǎn)品建立強(qiáng)大的數(shù)據(jù)庫(kù),這些產(chǎn)品包括Microsoft Access、Microsoft FoxPro、Btrieve、Paradox和dBASE等。你還可以使用Open Database Connectivity(ODBC)型客戶(hù)機(jī)/服務(wù)器數(shù)據(jù)庫(kù),比如Microsoft SQL Server等。
    Visual Basic能夠在多種數(shù)據(jù)庫(kù)格式中讀取和寫(xiě)入信息。
    如果你經(jīng)常與數(shù)據(jù)庫(kù)打交道——特別是上面提到的這些數(shù)據(jù)庫(kù),那么你應(yīng)當(dāng)考慮使用Visual Basic作為一種改進(jìn)和顯示數(shù)據(jù)的強(qiáng)大工具。由于Visual Basic中實(shí)施了與Microsoft Access中所使用的同樣的數(shù)據(jù)庫(kù)技術(shù)(一種名為Microsoft Jet的數(shù)據(jù)庫(kù)引擎),因此使用幾十行應(yīng)用程序代碼你就能建立一個(gè)定制數(shù)據(jù)庫(kù)應(yīng)用程序。
    下面,將學(xué)習(xí)如何使用Visual Basic數(shù)據(jù)對(duì)象來(lái)管理用Microsoft Access創(chuàng)建的一個(gè)名為zgda.mdb的數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)包含了“基本信息表”和“工資項(xiàng)目表”。你將學(xué)習(xí)如何從該數(shù)據(jù)庫(kù)中顯示多個(gè)字段的信息,以及如何編寫(xiě)可以執(zhí)行有用任務(wù)的程序代碼,如查找記錄、添加新記錄、刪除不用的記錄以及備份文件等。
    一、使用數(shù)據(jù)對(duì)象瀏覽Microsoft Access數(shù)據(jù)庫(kù)
    為了增強(qiáng)數(shù)據(jù)庫(kù)操作能力,Visual Basic提供了三個(gè)對(duì)象,使用它們可以顯示、修改數(shù)據(jù)庫(kù)文件中的信息。其中最主要的對(duì)象是數(shù)據(jù)(Data)對(duì)象,它使你能夠在窗體上直接訪問(wèn)數(shù)據(jù)庫(kù)文件中的字段和記錄?,F(xiàn)在我們練習(xí)使用數(shù)據(jù)對(duì)象顯示名稱(chēng)為zgda.mdb的Microsoft Access數(shù)據(jù)庫(kù)中的信息。
    字段和記錄的概念
    描述數(shù)據(jù)庫(kù)中信息的兩個(gè)重要術(shù)語(yǔ)是字段和記錄。字段是存儲(chǔ)在數(shù)據(jù)庫(kù)中的信息類(lèi)別,客戶(hù)數(shù)據(jù)庫(kù)中的典型字段包括客戶(hù)姓名、地址、電話(huà)號(hào)碼以及注釋等。有關(guān)特定客戶(hù)或事務(wù)的所有信息稱(chēng)做記錄。創(chuàng)建數(shù)據(jù)庫(kù)時(shí),信息就輸入在由字段和記錄組成的表中。一般來(lái)說(shuō),記錄對(duì)應(yīng)于表中的行,字段對(duì)應(yīng)于表中的列。
    1、創(chuàng)建數(shù)據(jù)對(duì)象
    單擊工具箱中的Data(數(shù)據(jù))控件, 將鼠標(biāo)指針移動(dòng)到窗體中心、靠近窗體底部的地方,用該控件繪出一個(gè)矩形。名稱(chēng)為Data1的數(shù)據(jù)對(duì)象顯示在窗體上。
    數(shù)據(jù)對(duì)象上的箭頭讓你在程序運(yùn)行時(shí)滾動(dòng)數(shù)據(jù)庫(kù)中的記錄。該對(duì)象還包含了一個(gè)標(biāo)題(目前為Data1),你可以使用它來(lái)說(shuō)明用數(shù)據(jù)對(duì)象要訪問(wèn)的數(shù)據(jù)庫(kù)。一般來(lái)說(shuō),這個(gè)標(biāo)題設(shè)置為數(shù)據(jù)庫(kù)的名稱(chēng)。數(shù)據(jù)對(duì)象外部邊緣上的第二個(gè)箭頭用于移動(dòng)到數(shù)據(jù)庫(kù)的開(kāi)始或結(jié)尾位置。
    2、使用綁定控件顯示數(shù)據(jù)庫(kù)信息
    綁定控件可以自動(dòng)處理數(shù)據(jù)庫(kù)信息。使用Visual Basic工具箱控件所創(chuàng)建的大部分對(duì)象都具有顯示數(shù)據(jù)庫(kù)信息的內(nèi)置功能。在數(shù)據(jù)庫(kù)術(shù)語(yǔ)中,這些對(duì)象被稱(chēng)為綁定控件。當(dāng)一個(gè)對(duì)象的DataSource(數(shù)據(jù)源)屬性與一個(gè)有效數(shù)據(jù)庫(kù)名建立連接、并且其DataField(數(shù)據(jù)字段)屬性與該數(shù)據(jù)庫(kù)中的一個(gè)有效字段建立連接時(shí),該對(duì)象也就綁定于該數(shù)據(jù)庫(kù)了。表是當(dāng)創(chuàng)建數(shù)據(jù)庫(kù)時(shí)由你或其他人定義的一組字段和記錄。
    Visual Basic中的綁定控件主要有CheckBox(復(fù)選框)、ComboBox(組合框)、Image(圖像框)、Label(標(biāo)簽)、ListBox(列表框)、PictureBox(圖片框)、TextBox(文本框)等。
    下面使用文本框?qū)ο箫@示數(shù)據(jù)。
    在Visual Basic中可以完成許多復(fù)雜的數(shù)據(jù)庫(kù)操作。本練習(xí)中,將顯示zgda.mdb數(shù)據(jù)庫(kù)的“姓名”字段(你能夠真正滾動(dòng)數(shù)據(jù)庫(kù)并瀏覽數(shù)據(jù)庫(kù)文件中的每個(gè)名字)。為了把“姓名”字段顯示在窗體上,需要增加另外一個(gè)用于保存數(shù)據(jù)的對(duì)象。由于要顯示的數(shù)據(jù)是文本數(shù)據(jù),因此將在窗體上增加一個(gè)文本框?qū)ο螅ㄟ€要在文本框上方放置一個(gè)標(biāo)簽控件,指明文本框是個(gè)數(shù)據(jù)庫(kù)字段)。最后,通過(guò)幾個(gè)屬性設(shè)置,建立數(shù)據(jù)對(duì)象與文本框?qū)ο笾g的連接,或者說(shuō)把它們綁定在一起。
    下面的程序使用一個(gè)數(shù)據(jù)對(duì)象和一個(gè)文本框?qū)ο髞?lái)顯示zgda.mdb數(shù)據(jù)庫(kù)中的一個(gè)數(shù)據(jù)庫(kù)字段“姓名”。該程序演示了如何創(chuàng)建一個(gè)定制數(shù)據(jù)庫(kù)應(yīng)用程序,以便檢查看你所想查看的信息。
    創(chuàng)建文本框?qū)ο蠛蜆?biāo)簽對(duì)象。
    在窗體上添加一個(gè)TextBox(文本框)控件和一個(gè)Label(標(biāo)簽)控件(這些控件就稱(chēng)為數(shù)據(jù)庫(kù)綁定控件)。
    3、設(shè)置對(duì)象屬性
    (1)數(shù)據(jù)對(duì)象的屬性
    1) 在屬性窗口中,確保Connect屬性設(shè)置為Access(缺省設(shè)置)。Connect屬性記錄要使用的數(shù)據(jù)庫(kù)或工作表的格式。Visual Basic能夠識(shí)別的格式包括Access、Excel、Lotus 1-2-3,dBASE、FoxPro以及Paradox。
    2) 在屬性窗口中,通過(guò)在DatabaseName對(duì)話(huà)框中選擇文件名來(lái)把DatabaseName屬性設(shè)置為c:\vb6sbs\zgda.mdb(數(shù)據(jù)庫(kù)存放的路徑,在這里的路徑只是一個(gè)參考,在實(shí)際操作時(shí),和工程文件保存在同一個(gè)文件夾下)。
    zgda.mdb是本練習(xí)中要打開(kāi)的樣本Access數(shù)據(jù)庫(kù)。它包含了一系列職工有用的表、字段以及記錄。
    3) 在屬性窗口中,單擊RecordSource屬性,然后單擊下拉列表框上的箭頭。當(dāng)顯示一系列數(shù)據(jù)庫(kù)表時(shí),單擊列表框中的“基本信息表”。RecordSource屬性用于指定要打開(kāi)的數(shù)據(jù)庫(kù)中的表(數(shù)據(jù)集合)。
    4) Caption屬性設(shè)置為“zgda.mdb”。該控件的標(biāo)題變?yōu)閦gda.mdb,提醒用戶(hù)正在使用這個(gè)數(shù)據(jù)庫(kù)。
    5)RecordsetType屬性為0-Table。