Visual Basic 程序設(shè)計教程第八章_第1頁
Visual Basic 程序設(shè)計教程第八章_第2頁
Visual Basic 程序設(shè)計教程第八章_第3頁
Visual Basic 程序設(shè)計教程第八章_第4頁
Visual Basic 程序設(shè)計教程第八章_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第八章數(shù)據(jù)庫編程

一、數(shù)據(jù)庫基本知識二、用VB操作Access數(shù)據(jù)庫表三、數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)VB程序設(shè)計教程1陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識一、幾個術(shù)語(1)數(shù)據(jù)數(shù)據(jù)是由一系列物理序號組成的,例如,1258、abcd、工人、農(nóng)民、學生等都屬于數(shù)據(jù),數(shù)據(jù)本身毫無意義,例如,1258和工人沒有什么關(guān)系,也無意義。但數(shù)據(jù)經(jīng)過加工處理后就不一樣了,例如,工人的月工資是1258元,那么這里的1258和工人兩個數(shù)據(jù)就有意義了。(2)數(shù)據(jù)處理數(shù)據(jù)處理是指,對各種形式的數(shù)據(jù)進行匯集、傳輸、分組、排序、存儲、檢索、計算等一系列操作稱為數(shù)據(jù)處理。(3)數(shù)據(jù)庫所謂數(shù)據(jù)庫,顧名思義就是“數(shù)據(jù)的倉庫”。一般來說,數(shù)據(jù)庫是存儲在計算機系統(tǒng)內(nèi)有結(jié)構(gòu)的數(shù)據(jù)的集合,這些數(shù)據(jù)是按一定的組織形式存放在各個數(shù)據(jù)庫的文件之中的,它為一個或多個用戶服務(wù),數(shù)據(jù)的存儲獨立于使用它的應(yīng)用程序,對數(shù)據(jù)庫中數(shù)據(jù)的增減、修改、查詢、輸出等操作都按一種公用的、有控制的方法來進行。VB程序設(shè)計教程2陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識(4)數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)是指,利用計算機的特點對數(shù)據(jù)進行記錄、整理、歸類和轉(zhuǎn)換等綜合管理的軟件,例如,Oracle、SQLServer、Access、FoxPro等軟件。它由三部分組成:①數(shù)據(jù)定義語言,用來描述和定義數(shù)據(jù)庫中的各種數(shù)據(jù)的特征;②數(shù)據(jù)操作語言,用來對數(shù)據(jù)的各種操作的各項規(guī)定;③數(shù)據(jù)管理的程序等??傊瑪?shù)據(jù)的一切操作都是通過數(shù)據(jù)庫管理系統(tǒng)進行的。主要功能是,數(shù)據(jù)庫定義、數(shù)據(jù)庫操作、數(shù)據(jù)運行管理、數(shù)據(jù)庫維護、通信管理等。(5)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)是指,進行數(shù)據(jù)庫管理的完整計算機系統(tǒng):硬件系統(tǒng)、軟件系統(tǒng)(操作系統(tǒng)和DBMS)、數(shù)據(jù)庫、應(yīng)用程序、相關(guān)人員。

VB程序設(shè)計教程3陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識二、數(shù)據(jù)庫的數(shù)據(jù)模型由于數(shù)據(jù)庫的數(shù)據(jù)是按一定的邏輯結(jié)構(gòu)組織起來的數(shù)據(jù)的集合,所以存放在數(shù)據(jù)庫中數(shù)據(jù)的邏輯結(jié)構(gòu)的數(shù)據(jù)模型對數(shù)據(jù)庫有很大的影響。目前基本的數(shù)據(jù)庫模型有三種類型,即網(wǎng)狀模型、層次模型和關(guān)系模型。1.層次模型層次模型指的是,用樹型結(jié)構(gòu)來表示數(shù)據(jù)間聯(lián)系的模型稱為層次模型。樹的結(jié)點表示各個數(shù)據(jù),連線表示數(shù)據(jù)之間的關(guān)系,這種聯(lián)系只能是一對多的聯(lián)系,因而層次模型中有且僅有一個最高層的結(jié)點,稱為根結(jié)點,其它的結(jié)點有且僅有一個直接的上層結(jié)點,稱為父結(jié)點,上層結(jié)點和下層結(jié)點的聯(lián)系是1:N的聯(lián)系。層次模型結(jié)構(gòu)的特點是簡單清晰,一目了然,

但有一定的局限性。如下圖所示。

VB程序設(shè)計教程4陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識VB程序設(shè)計教程5陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識2.網(wǎng)狀模型網(wǎng)狀模型指的是,用網(wǎng)絡(luò)結(jié)構(gòu)來表示數(shù)據(jù)間聯(lián)系的模型稱為網(wǎng)狀模型。一般網(wǎng)狀模型可以反映多對多的關(guān)系,如下圖所示。

VB程序設(shè)計教程6陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識這種模型的特點是:

①可以有一個或一個以上的根結(jié)點。

②同時可以有一個或一個以上的父結(jié)點。

③兩個結(jié)點之間可以有多種聯(lián)系。

3.關(guān)系模型關(guān)系模型指的是,用表格來表示數(shù)據(jù)間聯(lián)系的模型稱為關(guān)系模型,關(guān)系模型實際上就是用一張二維表格來描述的。目前在微機上的數(shù)據(jù)庫管理系統(tǒng)均為關(guān)系統(tǒng)型的,如DBASE、FoxBASE、FoxPro、CLIPER、ORACLE、UNIFY、INFORMIX、INGRES等。其特點是:(1)用二維表格形式來表示事物及其之間的關(guān)系。(2)每個二維表格稱為一個“關(guān)系”(對應(yīng)一個實體型或事物類)。(3)表格的每一行稱為一條記錄(對應(yīng)一個實體或事物)。(4)表格的每一列稱為一個字段(或數(shù)據(jù)項,對應(yīng)一個屬性或特征),每個字段有一個字段名。VB程序設(shè)計教程7陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識(5)一條記錄在某個字段的內(nèi)容稱為字段的值。(6)不同的字段允許有不同的數(shù)據(jù)類型與取值范圍,但同一字段不同記錄的值的類型與取值范圍相同。(7)字段名、字段的數(shù)據(jù)類型合起來稱為字段的型。下圖所示的就是一張二維數(shù)表,每個學生的所有信息包括:學號、姓名、性別、出生年月等字段,這些字段的總和稱為記錄。

VB程序設(shè)計教程8陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識VB程序設(shè)計教程9陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識三、使用Access創(chuàng)建數(shù)據(jù)庫表我們還是用第七章的例題7.12這個例子,為了更能說明問題起見,我們增添了一個出生年月字段項,如下表所示。

VB程序設(shè)計教程10陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識下面我們介紹使用Access創(chuàng)建數(shù)據(jù)庫表的操作步驟:(1)在Windows系統(tǒng)下單擊“開始”菜單按鈕,在上彈的菜單項中選擇“程序”項,再選擇MicrosoftAccess功能后即可進入Access主窗口。(2)單擊“文件”模塊下的“新建”選項功能,在右窗口上出現(xiàn)文件類型及形式,選擇“空數(shù)據(jù)庫”項后,彈出一個對話框,用戶可以將所需創(chuàng)建的文件名和路徑通過該對話框設(shè)定,該文件的擴展名為.mdb。本例假設(shè)使用的文件名為:職工人事檔案。(3)單擊“創(chuàng)建”按鈕后,出現(xiàn)如下圖所示的對話框。

VB程序設(shè)計教程11陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識VB程序設(shè)計教程12陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識(4)雙擊該選項后,出現(xiàn)一個對話框窗口,用戶可以根據(jù)需要輸入數(shù)據(jù)庫表的結(jié)構(gòu),即字段名稱、數(shù)據(jù)類型、說明等內(nèi)容。本例中輸入的字段名稱和數(shù)據(jù)類型如下圖所示。

VB程序設(shè)計教程13陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識(5)輸入完數(shù)據(jù)庫表結(jié)構(gòu)的內(nèi)容后,系統(tǒng)將又彈出一個窗口,要求用戶輸入數(shù)據(jù)庫表記錄,本例要求輸入10條記錄,如下圖所示。

VB程序設(shè)計教程14陳孟建沈美莉編著第一節(jié)數(shù)據(jù)庫基本知識(6)單擊“文件”模塊下的“另存為”功能,將此文件保存到用戶指定的位置處。通過以上的步驟,可以創(chuàng)建Access數(shù)據(jù)庫表文件。當然,對該表文件的各種操作,例如,錄入、追加、查詢、輸出等,可以直接在Access軟件中進行,也可以使用VisualBasic語言中語句對該數(shù)據(jù)庫表進行各種各樣的操作。

返回本章首頁VB程序設(shè)計教程15陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表一、使用可視化數(shù)據(jù)管理器(1)在VisualBasic主窗口中,單擊“外接程序”模塊下的“可視化數(shù)據(jù)管理器”選項后,彈出VisData主窗口。(2)在VisData主窗口中,單擊“文件”模塊下的“新建”選項,再選擇“MicrosoftAccess”子選項,再選擇“Version7.0MDB”功能如下圖所示。

VB程序設(shè)計教程16陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表(3)系統(tǒng)彈出“選擇要創(chuàng)建的Access數(shù)據(jù)庫”對話框,如下圖所示,在該對話框中輸入數(shù)據(jù)庫表文件名,輸入“職工人事檔案表”。

VB程序設(shè)計教程17陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表(4)單擊“保存”按鈕后,出現(xiàn)如下圖所示的對話框。在該對話框中,單擊鼠標器的右按鍵后,彈出一個動態(tài)菜單,選擇“新建表”選項。

VB程序設(shè)計教程18陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表(5)在彈出的表結(jié)構(gòu)對話框中,輸入表名稱為:職工人事檔案,如下圖所示。

VB程序設(shè)計教程19陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表(6)在表結(jié)構(gòu)對話框中,有添加字段按鈕、刪除字段按鈕、添加索引按鈕、刪除索引按鈕,用戶可根據(jù)需要選擇其中的某個命令按鈕,本例是單擊“添加字段”按鈕。(7)單擊“添加字段”按鈕后,彈出如下圖所示的“添加字段”對話框,在該對話框中用戶可以根據(jù)需要添加字段。

VB程序設(shè)計教程20陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表(8)本例要添加的字段是:姓名,字符型,8個字節(jié)、出生年月,日期型,8個字節(jié)、職稱,字符型,6個字節(jié)、基本工資,單精度型、部門,字符型,4個字節(jié)、政治面貌,字符型,4個字節(jié)、獎金,單精度型、工齡,整數(shù)型等。當全部都輸入完畢后,單擊“生成表”按鈕,即可生成職工人事檔案表的結(jié)構(gòu)了,在數(shù)據(jù)庫窗口中看到的是表結(jié)構(gòu)的內(nèi)容,如下圖所示。

VB程序設(shè)計教程21陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表二、數(shù)據(jù)庫表的一般操作1.數(shù)據(jù)庫表記錄的添加在數(shù)據(jù)庫窗口中,用鼠標器右鍵單擊“職工人事檔案表”后,彈出一個動態(tài)的菜單,選擇“打開”選項后,系統(tǒng)將彈出“職工人事檔案表”窗口,單擊“添加”按鈕,即可添加新的記錄,輸入有關(guān)的數(shù)據(jù)如下圖所示。

VB程序設(shè)計教程22陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表2.數(shù)據(jù)庫表記錄的刪除當不需要某條記錄時,用戶可以用刪除功能來刪除當前的記錄,其操作如下:(1)打開數(shù)據(jù)庫表文件:在數(shù)據(jù)庫窗口中單擊右按鍵,在彈出的動態(tài)菜單項下選擇“打開”功能即可打開數(shù)據(jù)庫表文件,其窗口與前相同。(2)選擇某個需要刪除的記錄:單擊“”按鈕,找到所需要刪除的記錄后,單擊“刪除”按鈕后,系統(tǒng)將彈出一個“VisData”對話框,詢問是否要刪除當前的記錄,當回答“Y”后,立即刪除,否則,當回答“N”則不刪除。

VB程序設(shè)計教程23陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表3.數(shù)據(jù)庫表結(jié)構(gòu)的修改數(shù)據(jù)庫表結(jié)構(gòu)修改的操作如下:(1)打開數(shù)據(jù)庫表文件:在數(shù)據(jù)庫窗口中單擊右按鍵,在彈出的動態(tài)菜單項下選擇“設(shè)計”功能即可打開數(shù)據(jù)庫表結(jié)構(gòu),其窗口如下圖所示。(2)選擇某個需要修改的字段后,再從名稱文本框中修改,修改后單擊“關(guān)閉”按鈕即可。

VB程序設(shè)計教程24陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表三、數(shù)據(jù)的查詢數(shù)據(jù)庫表創(chuàng)建后最主要的目的是提供數(shù)據(jù)查詢的功能,在VisData窗口對數(shù)據(jù)庫表中數(shù)據(jù)的查詢有兩種方法,即使用查詢生成器和使用SQL語句。下面我們介紹的是使用查詢生成器來完成查詢數(shù)據(jù)的操作步驟。(1)在VisData窗口,單擊“實用程序”模塊下的“查詢生成器”選項后,系統(tǒng)彈出“查詢生成器”窗口。(2)在該對話框窗口中單擊“職工人事檔案表”后,該表中的所有字段都顯示在“要顯示的字段”列表中,從列表中單擊要查詢結(jié)果中顯示的字段,可選擇多個字段,如下圖所示。VB程序設(shè)計教程25陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表VB程序設(shè)計教程26陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表(3)設(shè)置查詢條件,通過選擇“字段名稱”、“運算符”和“值”三項的內(nèi)容,構(gòu)成所需要的查詢條件。所有三項內(nèi)容中都可以通過單擊“”按鈕在列表框中選擇其中的內(nèi)容。(4)單擊“將And加入條件”或“將or加入條件”按鈕,將當前條件添加到下面的“條件”列表中。對于需要多個條件的查詢,選擇“將And加入條件”表示條件之間是“與”的關(guān)系,選擇“將or加入條件”表示條件之間是“或”的關(guān)系。(5)查詢生成器底下的六個按鈕的功能如下:

①“運行”按鈕的功能是,查看查詢結(jié)果。單擊該按鈕后會打開如下圖(a)所示的對話框,詢問“這是SQL傳遞查詢嗎?”,回答“否”則顯示查詢的結(jié)果。假設(shè),我們選擇要顯示的字段是:姓名、基本工資、獎金等三個字段,則經(jīng)過條件查詢后的結(jié)果有5條記錄,其顯示格式如下圖(b)所示。

VB程序設(shè)計教程27陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表

“顯示”按鈕的功能是,顯示所生成的SQL查詢語句,如下圖所示。

VB程序設(shè)計教程28陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表

③“復(fù)制”按鈕的功能是,將當前建立的查詢復(fù)制到SQL窗口中去。

④“保存”按鈕的功能是,把生成的SQL查詢語句按指定的名稱保存。

⑤“清除”按鈕的功能是,清除所有設(shè)置,回到初始狀態(tài)。

“關(guān)閉”按鈕的功能是,關(guān)閉“查詢生成器”窗口。

VB程序設(shè)計教程29陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表四、SQL語句簡介SQL是英文StructuredQueryLanguage的縮寫,是結(jié)構(gòu)化查詢語句的意思。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。SQL語句可以用來執(zhí)行各種各樣的操作,例如,更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。1.Select語句格式:Select[Predicate<字段名列表/*>]From[<表名列表>][Where<查詢條件>][Groupby<分組條件>][Having<分組搜索條件>][Orderby<排序條件>]功能:查詢指定的數(shù)據(jù)庫表中數(shù)據(jù)。VB程序設(shè)計教程30陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表注意:(1)Predicate子句包括All、Distinct、Distinctrow、Top等參數(shù),表示返回數(shù)據(jù)中被選擇字段是否允許有重復(fù)值出現(xiàn),All表示允許,Distinct表示不允許,Distinctrow表示將重復(fù)值濾掉,Top表示將從第一條記錄開始。(2)From子句用于指定要查詢的表。(3)Where子句用于指定查詢的條件。(4)Groupby子句用于指定將數(shù)據(jù)記錄分組的條件。(5)Having子句一般與Groupby聯(lián)合使用,用于指定分組查詢條件。(6)Orderby子句用于指定將返回數(shù)據(jù)排序條件。

VB程序設(shè)計教程31陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表【例題8.1】利用Select語句查詢“職工人事檔案”表中的數(shù)據(jù)。假設(shè)該數(shù)據(jù)庫表中有:姓名、出生年月、職稱、基本工資、部門、政治面貌、獎金、工齡。在SQL語句窗口下鍵入SQL語句,并按“執(zhí)行”按鈕后即可顯示其結(jié)果,下圖所示的是SQL窗口。

VB程序設(shè)計教程32陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表下面利用select語句查詢職工人事檔案表中的數(shù)據(jù)。(1)select姓名,職稱,基本工資,獎金from職工人事檔案以上命令的功能是,查詢“職工人事檔案”數(shù)據(jù)庫表中的字段名為姓名、職稱、基本工資、獎金等字段的數(shù)據(jù)。單擊“執(zhí)行”按鈕數(shù)據(jù)后的顯示結(jié)果如下圖所示,共有10條記錄。

VB程序設(shè)計教程33陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表(2)select姓名,職稱,基本工資,獎金from職工人事檔案where基本工資>900以上命令的功能是,查詢“職工人事檔案”數(shù)據(jù)庫表中滿足“基本工資”>900元的字段名為姓名、職稱、基本工資、獎金等字段的數(shù)據(jù)。單擊“執(zhí)行”按鈕數(shù)據(jù)后的顯示結(jié)果共有5條記錄。(3)selectdistinct姓名,職稱,基本工資,獎金from職工人事檔案以上命令的功能是,查詢“職工人事檔案”數(shù)據(jù)庫表中的字段名為姓名、職稱、基本工資、獎金等字段的數(shù)據(jù),所查詢出來的記錄是唯一的。

VB程序設(shè)計教程34陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表2.InsertInto語句格式:InsertInto<表名>(字段名列表)<Values(字段值列表)/Select語句>功能:向指定的數(shù)據(jù)庫表中添加一條或多條記錄的數(shù)據(jù)。注意:(1)表名指的是,需要插入記錄數(shù)據(jù)的數(shù)據(jù)庫表名稱。(2)字段名列表指的是,需要插入記錄數(shù)據(jù)的字段名稱。(3)當選擇了Values參數(shù)時,表示添加一條記錄的新數(shù)據(jù),此時(字段值列表)中的個數(shù)、類型均需與(字段名列表)完全匹配。(4)當選擇了Select選項時,則表示將查詢結(jié)果添加到數(shù)據(jù)庫表中。

VB程序設(shè)計教程35陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表【例題8.2】利用InsertInto語句,插入一條或多條記錄的數(shù)據(jù)。(1)insertinto職工人事檔案(姓名,基本工資,獎金)values(“陳小平”,2567.89,2390)以上命令的功能是,在“職工人事檔案”表中的末尾插入一條新的記錄數(shù)據(jù),其字段名是:姓名,基本工資,獎金。(2)insertinto職工人事檔案Select*from職工檔案2以上命令的功能是,將數(shù)據(jù)庫表“職工檔案2”中的記錄全部復(fù)制到“職工人事檔案”中去(“職工檔案2”與“職工人事檔案”結(jié)構(gòu)相同)。

VB程序設(shè)計教程36陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表3.Update語句格式:Update<表名>set字段名=表達式,……,字段名=表達式[Where<條件>]功能:修改用戶指定<表名>的表中選定行的一列或若干列的值。

【例題8.3】將姓名為“沈書毅”的職工的獎金賦初值為0。Update職工人事檔案

set獎金=0

Where姓名=“沈書毅”

VB程序設(shè)計教程37陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表4.Delete語句格式:Deletefrom<表名>[Where<條件>]功能:刪除用戶指定<表名>的表中選定的行或全部?!纠}8.4】將“基本工資”小于1000元的記錄全部刪除。Deletefrom職工人事檔案Where基本工資<10005.Create語句Create語句可以用來創(chuàng)建數(shù)據(jù)庫、表、視圖、索引等。(1)創(chuàng)建數(shù)據(jù)庫的格式CreateDataBase<數(shù)據(jù)庫名>VB程序設(shè)計教程38陳孟建沈美莉編著第二節(jié)用VB操作Access數(shù)據(jù)庫表(2)創(chuàng)建數(shù)據(jù)庫表的格式CreateTable<表名>

(字段名1類型[NotNull]

字段名2類型[NotNull]………………)(3)創(chuàng)建視圖的格式CreateView<視圖名>[(視圖字段名表)](4)創(chuàng)建索引的格式Create[Unique]Index索引名On表名(列名[ASC/Desc])……返回本章首頁VB程序設(shè)計教程39陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)一、數(shù)據(jù)控件數(shù)據(jù)控件(Data控件)是VisualBasic的內(nèi)部控件,它可以訪問多種標準格式的數(shù)據(jù)庫,例如,Access、FoxPro等,它還可通過開放式數(shù)據(jù)庫連接(ODBC),訪問和操作多種服務(wù)數(shù)據(jù)庫,例如,SQLServer、Oracle等。1.Data控件作用Data控件主要具有以下幾個作用:(1)可以對數(shù)據(jù)庫中數(shù)據(jù)的進行訪問;(2)可以從一條記錄移到另一條記錄,并顯示和操縱來自被連接控件的記錄的數(shù)據(jù);(3)可以執(zhí)行大部分數(shù)據(jù)訪問操作,而不需要編寫代碼;(4)可以通過數(shù)據(jù)綁定控件自動顯示來自當前記錄的一個或多個字段的數(shù)據(jù)。VB程序設(shè)計教程40陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)2.Data控件屬性Data控件主要具有以下幾個屬性:(1)Connect屬性該屬性的主要功能是返回或設(shè)置連接數(shù)據(jù)庫數(shù)據(jù)的來源,例如,MicrosoftAccess、FoxPro、Excel8.0等。(2)DataBaseName屬性該屬性的主要功能是返回或設(shè)置Data控件的數(shù)據(jù)源的名稱及位置。(3)RecordSource屬性該屬性的主要功能是返回或設(shè)置Data控件的記錄的來源,可以是表名稱、SQL查詢語句、也可以是一個查詢名。(4)BOFAction屬性該屬性的主要功能是返回或設(shè)置一個值,用來指示當BOF屬性為True時Data控件的行為。該值有以下兩種:

①0—MoveFirst:表示將第一條記錄為當前記錄;

②1—BOF:表示將當前記錄位置定位在第一條記錄之前。VB程序設(shè)計教程41陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(5)EOFAction屬性該屬性的主要功能是返回或設(shè)置一個值,用來指示當BOF屬性為True時Data控件的行為。該值有以下三種:

①0—MoveLase:表示將最后一條記錄為當前記錄;

②1—EOF:表示將當前記錄位置定位在第一條記錄之后。

③2—AddNew:表示如果當前記錄指針移過最后一條記錄,則自動添加一條新記錄。VB程序設(shè)計教程42陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(6)ReadOnly屬性該屬性的主要功能是返回或設(shè)置一個值,用來確定數(shù)據(jù)庫數(shù)據(jù)是否為只讀。如果設(shè)置為True,則不允許對數(shù)據(jù)庫的數(shù)據(jù)進行修改;如果設(shè)置為False,則允許對數(shù)據(jù)庫的數(shù)據(jù)進行修改。(7)RecordsetType屬性該屬性的主要功能是返回或設(shè)置一個值,用來指出由Data控件所創(chuàng)建的Recordset對象的類型,該類型共有以下三種設(shè)置:

①0—Table:表示一個表類型記錄集,該類型是一個記錄集合,代表能用來添加、更新或刪除記錄的單個數(shù)據(jù)庫表。

②1—Dynaset:表示一個動態(tài)類型記錄集,該類型是一個記錄的動態(tài)集合,它可以是一個數(shù)據(jù)庫表,也可以是從一個或多個表中得到的查詢結(jié)果,可以在動態(tài)集類型的Recordset對象里添加、更新或刪除記錄,并且任何改變都將會反映在基本表上。

③2—Snapshot:表示一個快照類型記錄集,該類型是一個記錄集合的靜態(tài)副本,可用于尋找數(shù)據(jù)或生成報表。一個快照類型的Recordset對象能包含從一個或多個在同一數(shù)據(jù)庫表里取出的字段,但字段不能更改。

VB程序設(shè)計教程43陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)3.Data控件方法Data控件主要具有以下幾種方法:(1)移動記錄指針的方法

①MoveFirst方法:將記錄指針移到第一條記錄;

②MoveLast方法:將記錄指針移到最后一條記錄;

③MoveNext方法:將記錄指針向后移動一條記錄;

④MovePrevious方法:將記錄指針向前移動一條記錄。(2)增加和刪除記錄的方法

①AddNew方法:增加一條新記錄,作為表文件的最后一條記錄。

②Delete方法:刪除當前記錄。(3)訪問數(shù)據(jù)的方法

①UpdateRecord方法:將連接到該Data控件的數(shù)據(jù)綁定控件中的內(nèi)容保存到數(shù)據(jù)庫。

②UpdateControls方法:將該Data控件RecordSet對象中的當前記錄顯示在關(guān)聯(lián)的數(shù)據(jù)綁定控件中。VB程序設(shè)計教程44陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)

③Refresh方法:更改Data控件的數(shù)據(jù)源數(shù)據(jù)源屬性后,重新創(chuàng)建其RecordSet對象。4.Data控件事件Data控件主要具有以下幾個事件:(1)Error事件該事件的主要功能是,在運行程序中發(fā)生錯誤后觸發(fā)該事件,如果編寫了出錯事件的代碼時,當在程序中發(fā)生錯誤后,VisualBasic將顯示與該錯誤有關(guān)的信息。(2)RePosition事件該事件的主要功能是,當一條記錄成為當前記錄之后觸發(fā)該事件。Recordset對象中的第一條記錄成為當前記錄,這時會觸發(fā)RePosition事件。(3)Validate事件該事件的主要功能是,當一條記錄成為當前記錄之前觸發(fā),使用Delete、Unload、Close操作之前會觸發(fā)該事件。

VB程序設(shè)計教程45陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)【例題8.5】利用Data數(shù)據(jù)控件訪問“職工人事檔案”數(shù)據(jù)庫表中的數(shù)據(jù),并顯示職工的姓名、出生年月、部門、職稱、基本工資、獎金等字段信息。(1)在窗體上的布局結(jié)構(gòu)如下圖所示。共有:7個標簽控件、6個文本框控件、1個數(shù)據(jù)控件(Data控件)。(2)6個文本框中的屬性分別是:Text1.DataField=姓名、Text2.DataField=出生年月、Text3.DataField=部門、Text4.DataField=職稱、Text5.DataField=基本工資、Text6.DataField=獎金、所有的文本框中的Text.DataSource數(shù)據(jù)來源于Data1。

VB程序設(shè)計教程46陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)VB程序設(shè)計教程47陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(3)數(shù)據(jù)控件中的屬性是:Data1.DataBaseName=E:\cbs\cbs13\vb\職工人事檔案.mdb,Data1.Caption=職工人事檔案表,Data1.RecordSource=職工人事檔案。(4)運行以上設(shè)置的窗體后,出現(xiàn)如下圖所示的窗口,該窗口中數(shù)據(jù)的初始值是“職工人事檔案”表中的第一條記錄,以后單擊Data1數(shù)據(jù)控件中的按鈕后,即可在文本框中顯示不同記錄中的數(shù)據(jù)。

VB程序設(shè)計教程48陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(5)Data1控件中有4個按鈕,從左到右分別代表:

①移動記錄指針到第一條記錄;

②移動記錄指針到上一條記錄;

③移動記錄指針到下一條記錄;

移動記錄指針到最后一條記錄。

二、記錄集對象1.記錄集對象的屬性Recordset對象主要具有以下幾個屬性:(1)AbsolutePosition屬性該屬性的主要功能是,指定Recordset對象當前記錄的序號位置,第一條記錄的AbsolutePosition的值為0。(2)Bookmark屬性該屬性的主要功能是,返回唯一標識Recordset對象中當前記錄的書簽,或者將Recordset對象的當前記錄設(shè)置為由有效書簽所標識的記錄。(3)RecordCount屬性該屬性的主要功能是,返回記錄集中的記錄總數(shù),該屬性是只讀屬性。為了獲得一個準確的記錄總數(shù)值,一般在讀取RecordCount屬性值之前先執(zhí)行一次MoveLast方法,然后,再獲得記錄總數(shù)值。VB程序設(shè)計教程49陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(4)Nomatch屬性該屬性的主要功能是,返回數(shù)據(jù)查詢結(jié)果,若成功返回時,其值為False,否則返回的值為True。(5)BOF、EOF屬性該屬性的主要功能是,用來指示當前記錄指針的位置,如果記錄指針指向記錄集的第一條記錄之前,則BOF屬性為True,否則為False。如果記錄指針指向記錄集的最后一條記錄之后,則EOF屬性為True,否則為False。如果當前記錄集的EOF和BOF屬性值都為True,則說明該記錄集中沒有記錄。(6)Fields屬性該屬性的主要功能是,用來對應(yīng)于Recordset中的一列。Recordset對象的Field屬性是一個集合,該集合包含Recordset對象的所有Field對象。使用Field對象的Value屬性可設(shè)置或返回當前記錄的數(shù)據(jù)。VB程序設(shè)計教程50陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)2.記錄集對象的方法(1)Move方法該方法主要功能是,用于移動記錄指針,它可以使不同的記錄成為當前記錄,一般用于瀏覽數(shù)據(jù)的顯示。Move方法有以下4種形式:

①MoveFirst方法:將記錄指針移到第一條記錄;

②MoveLast方法:將記錄指針移到最后一條記錄;

③MoveNext方法:將記錄指針向后移動一條記錄;

④MovePrevious方法:將記錄指針向前移動一條記錄。(2)Find方法該方法主要的功能是,用于在記錄集中查找符合條件的記錄,如果有符合條件的記錄,則將記錄指針定位在找到的記錄上,否則,將指針定位在記錄集的末尾。Find方法有以下4種形式:

①FindFirst方法:查找符合條件的第一條記錄;

②FindLast方法:查找符合條件的最后一條記錄;

③FindNext方法:查找符合條件的下一條記錄;

④FindPrevious方法:查找符合條件的上一條記錄。VB程序設(shè)計教程51陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(3)AddNew方法該方法主要的功能是,用于新增記錄,它將一條空記錄添加到記錄集的末尾,并將記錄指針定位到該記錄上。新記錄的值為指定的默認值,如果沒有指定值,則置為空值??梢栽跀?shù)據(jù)綁定控件中輸入值。要注意的是,新記錄成為當前記錄后,需通過Update方法可以將該記錄存儲到數(shù)據(jù)庫文件中。(4)Delete方法該方法主要的功能是,用于刪除當前記錄。使用了Delete方法后,要移動記錄指針來清除記錄的顯示,否則,被刪除的記錄仍顯示在綁定控件中。(5)Update方法該方法主要的功能是,用于提交數(shù)據(jù)以確認修改,其格式為:Data1.Recordset.Update(6)Close方法該方法主要的功能是,用于關(guān)閉記錄集對象,其格式為:Data1.Recordset.Close。VB程序設(shè)計教程52陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(7)Seek方法該方法主要的功能是,用于在表類型的記錄集中查找滿足條件的記錄,使用Seek方法之前必須先打開表的索引,要查找的內(nèi)容為索引字段的內(nèi)容。其格式為:Data1.Recordset.seek<比較字符>,其中<比較字符>為字符串類型,可以是:<、<=、=、>=、>之一,可以有多個關(guān)鍵字,分別對應(yīng)于當前索引字段。

三、數(shù)據(jù)綁定控件1.數(shù)據(jù)綁定概念在VisualBasic中可以與數(shù)據(jù)綁定的控件有:文本框(TextBox)、標簽框(Lebel)、圖片框(PictureBox)、圖像框(Image)、列表框(ListBox)、組合框(ComboBox)、復(fù)選框(CheckBox)、表(MSFlexCrid)、數(shù)據(jù)列表(DataList)、數(shù)據(jù)網(wǎng)絡(luò)(DataGrid)等。

VB程序設(shè)計教程53陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)2.數(shù)據(jù)綁定控件的屬性利用數(shù)據(jù)綁定控件顯示信息,必須對綁定控件設(shè)置適當?shù)膶傩灾担旅鎸⒁榻B的是綁定控件的幾個與數(shù)據(jù)庫訪問有關(guān)的屬性。(1)DataChanged屬性該屬性主要功能是,用來指示綁定控件里的值是否被改變。如果被改變,則其值為True,否則,值為False。(2)DataSource屬性該屬性主要功能是,用來指定數(shù)據(jù)綁定所連接的數(shù)據(jù)控件的名稱。通過該數(shù)據(jù)源,數(shù)據(jù)綁定控件被綁定到一個數(shù)據(jù)庫。(3)DataField屬性該屬性主要功能是,用來指定一個要顯示的數(shù)據(jù)庫表中的字段名,該字段名的具體名稱是具體連接到某一個數(shù)據(jù)庫表中的字段名稱。

VB程序設(shè)計教程54陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)3.使用綁定控件的操作步驟要在應(yīng)用程序中使用數(shù)據(jù)綁定控件顯示數(shù)據(jù)的基本操作步驟如下:(1)添加Data控件及綁定控件到窗體中。(2)設(shè)置Data控件的DataBaseName屬性及RecordSource屬性,連接數(shù)據(jù)庫表。(3)設(shè)置綁定控件的DataSource屬性為Data控件的名字。(4)設(shè)置緒定控件的Datafield屬性為要顯示的字段名。以上是有關(guān)Data控件及數(shù)據(jù)綁定控件的屬性及方法,下面我們將要介紹一個數(shù)據(jù)綁定的具體實例。

VB程序設(shè)計教程55陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)四、ADO數(shù)據(jù)訪問技術(shù)1.ADO對象模型ADO對象模型是Microsoft公司新一代的數(shù)據(jù)訪問技術(shù),ADO對象模型規(guī)定了一組可編程的分層對象集合,在VisualBasic應(yīng)用程序中通過創(chuàng)建這組對象集合來連接數(shù)據(jù)庫,實現(xiàn)對數(shù)據(jù)庫的各種操作。ADO對象模型主要由Connection(連接)、Command(命令)、Parameter(參數(shù))、Recordset(記錄集)、field(字段)、Property(屬性)、Error(錯誤)等7個對象組成,另外還有4個集合對象,分別是Fields、Properties、Parameters和Errors集合。使用ADO對象進行數(shù)據(jù)訪問的基本方法是:(1)連接到數(shù)據(jù)源。同時,可確定對數(shù)據(jù)源的所有更改是否已成功或沒有發(fā)生。(2)指定訪問數(shù)據(jù)源的命令,同時可帶變量參數(shù),或優(yōu)化執(zhí)行。VB程序設(shè)計教程56陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(3)執(zhí)行命令。(4)如果這個命令使數(shù)據(jù)按表中的行的形式返回,則將這些行存儲在易于檢查、操作或更改的緩存中。(5)適當情況下,可使用緩存行的更改內(nèi)容來更新數(shù)據(jù)源。(6)提供常規(guī)方法檢測錯誤(通常由建立連接或執(zhí)行命令造成)。在典型情況下,需要在編程模型中采用所有這些步驟。但是,由于ADO有很強的靈活性,所以最后只需執(zhí)行部分模塊就能做一些有用的工作。例如:將數(shù)據(jù)從文件直接存儲到緩存行,然后僅用ADO資源對數(shù)據(jù)進行檢查。

VB程序設(shè)計教程57陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)2.連接(Connection)對象通過“連接”可從應(yīng)用程序訪問數(shù)據(jù)源,連接是交換數(shù)據(jù)所必需的環(huán)境。應(yīng)用程序可直接或間接訪問數(shù)據(jù)源。Connection對象的常用屬性有:(1)ConnectionString屬性該屬性的主要功能是,返回或設(shè)置一個字符串值,這個字符串包含與數(shù)據(jù)源連接的信息。例如,連接E:\cbs\cbs13\vb\職工人事檔案.mdbDimMymdbAsNewADODB.Connection‘定義一個新的Connection對象MymdbMymdb.Connectionstring=”Provider=MicrosoftjetOLEDB.4.0;”&“Datasource=e:\cbs\cbs13\vb\職工人事檔案.mdb”‘定義連接方式Mymdb.Open‘將指定的連接打開數(shù)據(jù)庫表VB程序設(shè)計教程58陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(2)ConnectionTimeout屬性該屬性的主要功能是,返回或設(shè)置等待連接打開的時間值,單位為秒,默認值為15秒。如果該屬性設(shè)置為0,則ADO將無限等待直到連接打開為止。(3)State屬性該屬性的主要功能是,用來說明某對象狀態(tài)是打開還是關(guān)閉的,可以隨時使用State屬性來確定指定對象的當前狀態(tài)。

3.命令(Command)對象通過已建立的連接發(fā)出的“命令”可以某種方式來操作數(shù)據(jù)源。一般情況下,命令可以在數(shù)據(jù)源中添加、刪除或更新數(shù)據(jù),或者在表中以行的格式檢索數(shù)據(jù)。Command對象的常用屬性有:(1)ActiveConnect屬性該屬性的主要功能是,用來設(shè)置Command或Recordset對象當前所屬的Connection對象。VB程序設(shè)計教程59陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(2)CommandText屬性該屬性的主要功能是,用來設(shè)置要執(zhí)行的命令字符串,這個字符串可以是一個SQL語句,也可以是一存儲過程等等。(3)CommandType屬性該屬性的主要功能是,用來設(shè)置Command對象的類型,該屬性有以下4種不同的值:

①adcmdText,當要執(zhí)行的字符串為SQL語句時,選擇該值。

②adcmdTable,當要執(zhí)行的字符串為一數(shù)據(jù)庫表時,選擇該值。

③adcmdStoreproc,當要執(zhí)行的字符串為一個存儲過程時,選擇該值。

adcmdUnknown,當設(shè)置該屬性值時,則Command對象必須采用其他方法來決定要執(zhí)行的字符串的類型。

VB程序設(shè)計教程60陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)4.參數(shù)(Parameter)對象通常,命令需要的變量部分即“參數(shù)”可以在命令發(fā)布之前進行更改。例如,可重復(fù)發(fā)出相同的數(shù)據(jù)檢索命令,但每一次均可更改指定的檢索信息。參數(shù)對執(zhí)行其行為類似函數(shù)的命令非常有用,這樣就可知道命令是做什么的,但不必知道它如何工作。5.記錄集(Recordset)對象如果命令是在表中按信息行返回數(shù)據(jù)的查詢(行返回查詢),則這些行將會存儲在本地。對象模型將該存儲體現(xiàn)為Recordset

對象。但是,不存在僅代表單獨一個Recordset

行的對象。Recordset對象的常用屬性有:(1)Absoluteposition屬性該屬性的主要功能是,用來指定Recordset對象當前記錄的序號。VB程序設(shè)計教程61陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(2)ActiveConnection屬性該屬性的主要功能是,用來返回或設(shè)置指定的Command或Recordset對象當前所屬的Connection對象。(3)Bof屬性主要用于指示當前記錄指針是否指向第一條記錄之前。(4)Eof屬性主要用于指示當前記錄指針是否指向最后一條記錄之后。(5)Filter屬性主要用于為Recordset中的數(shù)據(jù)指定重篩選條件。(6)CursorType屬性主要用于指示在Recordset對象中使用的游標類型。(7)RecordCount屬性主要用于指示Recordset對象的記錄數(shù)。(8)Source屬性主要用于指示Recordset對象中數(shù)據(jù)的來源,它可以是Command對象,也可以是一個SQL語句。(9)State屬性主要用于指示某對象狀態(tài)是打開還是關(guān)閉的。

VB程序設(shè)計教程62陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)6.字段(field)對象一個記錄集行包含一個或多個“字段”。如果將記錄集看作二維網(wǎng)格,字段將排列構(gòu)成“列”。每一字段(列)都分別包含有名稱、數(shù)據(jù)類型和值的屬性,正是在該值中包含了來自數(shù)據(jù)源的真實數(shù)據(jù)。7.屬性(Property)對象每一個ADO對象都有一組唯一的“屬性”來描述或控制對象的行為。屬性有兩種類型:內(nèi)置和動態(tài)。內(nèi)置屬性是ADO對象的一部分并且隨時可用。動態(tài)屬性則由特別的數(shù)據(jù)提供者添加到ADO對象的屬性集合中,僅在提供者被使用時才能存在。8.錯誤(Error)對象錯誤隨時可在應(yīng)用程序中發(fā)生,通常是由于無法建立連接、執(zhí)行命令或?qū)δ承顟B(tài)(例如,試圖使用沒有初始化的記錄集)的對象進行操作。每一個錯誤發(fā)生時,一個或多個Error對象將被放到Connection對象的Error集合中,當另一個ADO操作發(fā)生錯誤時,Error集合將被清空。并在其中放入新的Error對象集。

VB程序設(shè)計教程63陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)五、Adodc控件在使用ADO訪問數(shù)據(jù)庫表時,需要編寫大量的程序代碼,程序的流程也比較復(fù)雜,因此,在實際應(yīng)用上,一般可以用Adodc控件來替代ADO訪問數(shù)據(jù)庫表的方法。使用Adodc控件完全不用編寫許多程序代碼,只要在可視的環(huán)境下就可以完成許多操作了。1.添加Adodc控件到工具箱使用Adodc控件之前,必須先將該控件添加到當前的工具箱中,添加的方法如下:(1)在主窗口下,單擊“工程”模塊下的“部件”選項。(2)在彈出的對話框中,選擇“控件”選項卡,如下圖所示。

VB程序設(shè)計教程64陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)VB程序設(shè)計教程65陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(3)選擇“MicrosoftADODataControl6.0(OLEDB)”、“MicrosoftDataGridControl6.0(OLEDB)”、“MicrosoftDataListControl6.0(OLEDB)”、“MicrosoftHierarchicalFlexGridControl6.0(OLEDB)”等4個選項,使之該選項左邊方框中出現(xiàn)“√”標識符,表示該選項被選中。(4)單擊“確定”按鈕后,Adodc等控件的圖標將被添加到工具箱中,如下圖所示。

VB程序設(shè)計教程66陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)2.Adodc控件屬性(1)ConnectionString屬性該屬性的主要功能是,用來建立與數(shù)據(jù)源連接的所有信息,每項信息用分號分隔。該屬性為字符串類型,并有以下4個主要的參數(shù)。

①Provider參數(shù),用來指定數(shù)據(jù)源的名稱。

②FileName參數(shù),用來指定基于數(shù)據(jù)源的文件名稱。

③RemoteProvider參數(shù),用來指定在打開一個客戶端連接時,使用的數(shù)據(jù)源名稱。

④RemoteServer參數(shù),用來指定打開一個客戶端連接時,使用的服務(wù)器的路徑與名稱。(2)RecordSource屬性該屬性的主要功能是,用來決定從數(shù)據(jù)庫中檢索什么信息。該屬性通常是由一條SQL語句組成。VB程序設(shè)計教程67陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)(3)UserName屬性該屬性的主要功能是,用來指定用戶的名稱。該屬性可以在ADODC控件的屬性窗口中直接輸入,也可以在ADODC控件的“屬性頁”對話框或“數(shù)據(jù)鏈接屬性”對話框中設(shè)置。3.Adodc控件方法Adodc控件方法有以下幾種方法:(1)Refresh方法,主要用于刷新與ADODC控件連接的記錄集數(shù)據(jù)。(2)UpDateRecord方法,主要用于將數(shù)據(jù)綁定控件的當前內(nèi)容寫入到數(shù)據(jù)庫中。(3)Close方法,主要用于關(guān)閉打開的對象及相關(guān)的對象。

VB程序設(shè)計教程68陳孟建沈美莉編著第三節(jié)數(shù)據(jù)控件與ADO數(shù)據(jù)訪問技術(shù)4.Adodc控件事件Adodc控件提供了若干個可以編程的事件,這些事件可以分為兩種類型,即,Will事件和Complete事件。(1)WillMove和MoveComplete事件WillMove事件在當前記錄的位置將要發(fā)生變化的時候發(fā)生,而MoveComplete事件則在位置改變完畢的時候發(fā)生。

(2)WillChangeField和FieldChangeComplete事件WillChangeField事件在當前記錄集中的一個或者多個字段內(nèi)容發(fā)生變化的時候發(fā)生,而FieldChangeC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論