版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.,1,軟件設(shè)計基礎(chǔ),河北理工大學(xué),VB程序設(shè)計,.,2,第8章 數(shù)據(jù)庫程序設(shè)計,本章學(xué)習(xí)目標(biāo): 了解數(shù)據(jù)庫的一些基本概念,掌握創(chuàng)建Access數(shù)據(jù)庫的方法 掌握使用DATA和ADO數(shù)據(jù)控件連接數(shù)據(jù)庫和數(shù)據(jù)表的方法 掌握數(shù)據(jù)識別控件綁定到ADO數(shù)據(jù)控件的方法 掌握ADO控件的Recordset對象常用方法和屬性 理解ADO對象模型的概念,掌握使用ADO對象模型編程的方法和步驟 掌握SQL查詢語句在VB中的使用,.,3,第8章 數(shù)據(jù)庫程序設(shè)計,本章重點 ADO控件的Recordset對象的使用 ADO對象模型的使用 本章難點 使用ADO對象模型編程實現(xiàn)數(shù)據(jù)庫的訪問,.,4,學(xué)習(xí)內(nèi)容,實例演示及分
2、析 數(shù)據(jù)庫基本概念 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表 數(shù)據(jù)控件DATA- 常用控件的屬性、事件和方法 數(shù)據(jù)記錄的增刪改 ADO數(shù)據(jù)控件和SQL查詢-ADO訪問數(shù)據(jù)模型、常用屬性和方法 綁定控件 數(shù)據(jù)窗體向?qū)?數(shù)據(jù)報表制作,.,5,員工工資管理系統(tǒng),實例演示,在第6章講解了文件,并用文件保存員工工資管理系統(tǒng)中的職工信息,實現(xiàn)了程序和數(shù)據(jù)的分離,但是使用文本文件保存和管理數(shù)據(jù),保存的數(shù)據(jù)量小、安全性差、數(shù)據(jù)不直觀,而且管理困難。數(shù)據(jù)庫技術(shù)可以實現(xiàn)對數(shù)據(jù)進(jìn)行科學(xué)的組織、存儲和有效集中管理,而VB也為用戶提供了訪問數(shù)據(jù)庫的功能。,實例演示-實例8.1(實例8.1總),.,6,員工工資管理系統(tǒng),問題分析,本章的目標(biāo)是
3、將第6章以文本文件為數(shù)據(jù)源的員工工資管理系統(tǒng)改為以數(shù)據(jù)庫為數(shù)據(jù)源的員工工資管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)是對數(shù)據(jù)實施有效集中管理的專門軟件,這樣的管理方式相對以文本文件為數(shù)據(jù)源方式的功能強(qiáng)、效率高,保存的數(shù)據(jù)量大,安全性好。,.,7,員工工資管理系統(tǒng),問題分析,根據(jù)系統(tǒng)的功能需求分析,設(shè)計完成該系統(tǒng),必須首先創(chuàng)建一個數(shù)據(jù)庫,用以保存員工的基本信息,這樣才可以在Visual Basic中調(diào)用數(shù)據(jù)庫中的數(shù)據(jù),并以某種方式顯示出來。 要設(shè)計一個具有數(shù)據(jù)信息管理功能的系統(tǒng),需要下面幾個步驟: (1)確定并設(shè)計系統(tǒng)需要的數(shù)據(jù)庫和數(shù)據(jù)表,并創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表。 (2)新建工程,根據(jù)要求設(shè)計界面。 (3)實現(xiàn)VB
4、工程與數(shù)據(jù)庫的連接。 (4)編寫代碼實現(xiàn)相應(yīng)功能。,.,8,數(shù)據(jù)庫基本概念,數(shù)據(jù)庫系統(tǒng),1. 數(shù)據(jù)庫 數(shù)據(jù)是指能被計算機(jī)存儲和處理的反映客觀實體信息的物理符號。數(shù)字、文字、表格、音頻、視頻、圖形、圖像和動畫等都被稱為數(shù)據(jù)。數(shù)據(jù)庫(Data Base,簡記為DB)則是為某種特殊目的而組織起來的記錄和文件的集合。 2. 數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng)(Data Base Manage System,簡稱為DBMS),是數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)進(jìn)行管理的專門軟件,是數(shù)據(jù)庫系統(tǒng)的核心組成部分,對數(shù)據(jù)庫的所有操作和控制,都是通過DBMS來進(jìn)行的。 3. 數(shù)據(jù)庫應(yīng)用系統(tǒng) 是在某種DBMS的支持下,根據(jù)實際應(yīng)用的
5、需要,開發(fā)出來的應(yīng)用程序包,.,9,數(shù)據(jù)庫基本概念,關(guān)系數(shù)據(jù)庫,1.數(shù)據(jù)模型 數(shù)據(jù)模型是表示數(shù)據(jù)及數(shù)據(jù)之間聯(lián)系的結(jié)構(gòu)方式。在實際的數(shù)據(jù)處理中,先將現(xiàn)實世界的事物及其聯(lián)系抽象為信息世界的信息模型,再將信息模型抽象轉(zhuǎn)化為計算機(jī)世界的數(shù)據(jù)模型。數(shù)據(jù)模型的好壞直接影響數(shù)據(jù)庫的性能。數(shù)據(jù)模型的設(shè)計方法決定著數(shù)據(jù)庫的設(shè)計方法,目前流行的模型有:網(wǎng)狀模型、層次模型和關(guān)系模型。 (1)網(wǎng)狀模型是用圖結(jié)構(gòu)來表示數(shù)據(jù)之間的聯(lián)系。 (2)層次模型是用樹結(jié)構(gòu)來表示數(shù)據(jù)之間的聯(lián)系。 (3)關(guān)系模型是用二維表結(jié)構(gòu)來表示數(shù)據(jù)之間的聯(lián)系。 關(guān)系模型是一種較先進(jìn)的模型,目前幾乎所有的現(xiàn)代DBMS都使用關(guān)系數(shù)據(jù)庫模型來存儲和處理
6、信息。在關(guān)系數(shù)據(jù)庫管理系統(tǒng)中,系統(tǒng)以表的形式管理所有數(shù)據(jù)。,.,10,數(shù)據(jù)庫基本概念,關(guān)系數(shù)據(jù)庫,2.關(guān)系數(shù)據(jù)庫 關(guān)系數(shù)據(jù)庫是以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫,它由以下三部分組成: (1)數(shù)據(jù)結(jié)構(gòu)模型所操作的對象、類型的集合。 (2)完整性規(guī)則保證數(shù)據(jù)有效、正確的約束條件。 (3)數(shù)據(jù)操作對模型對象所允許執(zhí)行的操作方式。 3.關(guān)系表 (1)關(guān)系:關(guān)系(Relation)是一個由行和列組成的二維表格,也稱為關(guān)系表或表。 (2)字段:表由若干行和若干列組成,每一列稱為字段(Field)。 (3)記錄:表中的每一行稱為記錄(Record) 。 (4) 值:在表中的行和列,凡記錄和字段的相交處就是值存儲的數(shù)據(jù)
7、元素 。 (5)表的主鍵和索引:,.,11,數(shù)據(jù)庫基本概念,關(guān)系數(shù)據(jù)庫,.,12,數(shù)據(jù)庫基本概念,關(guān)系數(shù)據(jù)庫,4.記錄集 數(shù)據(jù)庫可以由多個表組成,表與表之間可以用不同的方式相互關(guān)聯(lián)。例如在筆記本信息管理數(shù)據(jù)庫中還有一個基本配置表,其結(jié)構(gòu)如圖8.8所示。在該表中只需一個編號字段引用筆記本的品牌和價格信息等,而不必重復(fù)每一個字段,通過兩個表中相同的編號字段就可以把筆記本的配置信息和價格信息等聯(lián)系起來了。,圖8.8 基本配置表的結(jié)構(gòu),.,13,數(shù)據(jù)庫基本概念,關(guān)系數(shù)據(jù)庫,4.記錄集 在Visual Basic中,可以將一個或幾個表中的數(shù)據(jù)構(gòu)成記錄集RecordSet對象,記錄集也由行和列構(gòu)成,它與表
8、類似,如圖8.9所示。,.,14,數(shù)據(jù)庫基本概念,關(guān)系數(shù)據(jù)庫,4.記錄集 在Visual Basic中數(shù)據(jù)庫內(nèi)的表格不允許直接訪問,而只能通過記錄集對象進(jìn)行記錄的操作和瀏覽,因此,記錄集是一種瀏覽數(shù)據(jù)庫的工具。用戶可根據(jù)需要,通過使用記錄集對象選擇數(shù)據(jù)。,記錄集有三種類型: 表類型(Table):表類型的RecordSet對象是當(dāng)前數(shù)據(jù)庫真實的數(shù)據(jù)表。它比其他類型的記錄集處理速度都快,但需要大量的內(nèi)存開銷。 動態(tài)集類型(DynaSet):動態(tài)集類型的RecordSet對象是可以更新的數(shù)據(jù)集,它實際上是對一個或者幾個表中的記錄的引用。 快照類型(SnapShot):快照類型的RecordSet對
9、象是靜態(tài)數(shù)據(jù)的顯示。它包含的數(shù)據(jù)是固定的,記錄集為只讀狀態(tài),它反映了在產(chǎn)生快照的一瞬間數(shù)據(jù)庫的狀態(tài)??煺帐亲钊鄙凫`活性的記錄集,但它所需要的內(nèi)存開銷最少。如果只是瀏覽記錄,可以用快照類型,.,15,數(shù)據(jù)庫的創(chuàng)建,任務(wù)分析,在員工工資管理系統(tǒng)中,要保存員工個人信息,即員工編號、姓名、年齡、所在部門、職位等,還要保存員工工資信息,即員工編號、基本工資、獎金、各種補(bǔ)助。因此需要建立一個數(shù)據(jù)庫,庫中要有兩張表。 數(shù)據(jù)庫創(chuàng)建有很多軟件,如Access、SQL Sever、VFP等。我們使用Access數(shù)據(jù)庫,可以用Access數(shù)據(jù)庫開發(fā)軟件創(chuàng)建,也可以用VB集成開發(fā)環(huán)境中的“可視化數(shù)據(jù)管理器”創(chuàng)建。,.
10、,16,數(shù)據(jù)庫的創(chuàng)建,操作步驟,啟動VB新建工程。 建立數(shù)據(jù)庫。 (1)在VB集成開發(fā)環(huán)境中,單擊“外接程序”“可視化數(shù)據(jù)管理器”,打開可視化數(shù)據(jù)管理器的“VisData”窗口,如圖8.10所示。 (2)單擊“文件”“新建”“Microsoft Access” “Version 7.0 MDB”,打開“選擇要創(chuàng)建的Microsoft Access 數(shù)據(jù)庫”對話框。 (3)在該對話框中數(shù)據(jù)要創(chuàng)建的數(shù)據(jù)庫文件的名稱, 指定保存的路徑。一般將數(shù)據(jù)庫保存在和工程文件 相同的文件夾中。,圖8.10 可視化數(shù)據(jù)管理器窗口,.,17,數(shù)據(jù)庫的創(chuàng)建,操作步驟,.,18,數(shù)據(jù)庫的創(chuàng)建,操作步驟,3.建立數(shù)據(jù)表。
11、 (1)確定表結(jié)構(gòu)。 員工基本信息表 員工工資表,.,19,數(shù)據(jù)庫的創(chuàng)建,操作步驟,3.建立數(shù)據(jù)表。 (2)建立表結(jié)構(gòu)。 在圖8.11所示的“數(shù)據(jù)庫窗口”的空白處右擊,從彈出的快捷菜單中選擇“新建表”,打開如圖8.12所示的表結(jié)構(gòu)對話框。 在“表名稱”文本框中輸入數(shù)據(jù)表的名稱,“添加字段”按鈕 所有字段添加之后,單擊“生成表”。 (3)輸入表記錄。,圖8.12 “表結(jié)構(gòu)”對話框,.,20,數(shù)據(jù)庫的創(chuàng)建,操作步驟,3.建立數(shù)據(jù)表。 (3)輸入表記錄。 雙擊表名稱,即可 輸入表記錄,如圖所示。,.,21,數(shù)據(jù)控件Data,員工基本信息瀏覽,要在Visual Basic中訪問數(shù)據(jù)庫,就要使用一個能夠
12、訪問數(shù)據(jù)庫的控件。主要有Data控件、DAO控件、ADO控件等,其中Data控件 是Visual Basic內(nèi)嵌的一個訪問數(shù)據(jù)庫的方便的工具。,實例演示,設(shè)計程序界面 添加Data控件,.,22,數(shù)據(jù)控件Data,使用Data控件連接數(shù)據(jù)庫和數(shù)據(jù)表,設(shè)置Data控件屬性 (1)Connect屬性 Connect屬性指定數(shù)據(jù)控件所要連接的數(shù)據(jù)庫類型,VB默認(rèn)的數(shù)據(jù)庫是Access的MDB文件。此外,也可連接DBF、XLS、ODBC等類型的數(shù)據(jù)庫。 (2)DatabaseName屬性 DatabaseName屬性指定具體使用的數(shù)據(jù)庫文件名,包括所有的路徑名。 本例中選wages.mdb。 注意:最
13、好將數(shù)據(jù)庫文件和工程文件放在同一個文件夾下,這樣設(shè)置其DatabaseName屬性時只寫文件名即可。否則,如果寫絕對路徑,則隨著工程文件位置的改變,可能出現(xiàn)找不到數(shù)據(jù)庫文件的錯誤。,.,23,數(shù)據(jù)控件Data,使用Data控件連接數(shù)據(jù)庫和數(shù)據(jù)表,設(shè)置Data控件屬性 (3)RecordSource屬性 RecordSource屬性確定具體可訪問的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成記錄集對象的RecordSet對象。該屬性值可以是數(shù)據(jù)庫中的單個表名,一個存儲查詢,也可以是使用SQL查詢語言的一個查詢字符串。(本例這中選info) (4) RecordType屬性 確定記錄集類型,指定記錄集的Table、Dyna
14、Set、SnapShot三種類型中的一種. 本例中因為只是瀏覽信息,無需修改記錄,故可將其類型選為SnapShot,.,24,數(shù)據(jù)控件Data,將數(shù)據(jù)綁定控件綁定到Data控件,在Visual Basic中,數(shù)據(jù)控件本身不能直接顯示記錄集中的數(shù)據(jù),必須通過能與它綁定的控件來實現(xiàn)??膳c數(shù)據(jù)控件綁定的控件對象有文本框、標(biāo)簽、圖像框、圖形框、列表框、組合框、復(fù)選框、網(wǎng)格、DB列表框、DB網(wǎng)格和OLE容器等空間。 本例中的數(shù)據(jù)綁定控件為文本框。必須設(shè)置數(shù)據(jù)綁定控件的兩個屬性: (1) DataSource屬性 通過指定一個有效的數(shù)據(jù)控件綁定控件連接到一個數(shù)據(jù)源上。 (2)DataField屬性 設(shè)置數(shù)
15、據(jù)源中有效的字段使綁定控件與其建立聯(lián)系。 本實例中分別設(shè)置幾個文本框的上述兩個屬性。,.,25,數(shù)據(jù)控件Data,編寫實現(xiàn)信息瀏覽的代碼,Data控件本身就有瀏覽記錄的功能,單擊對應(yīng)按鈕可實現(xiàn)“第一條”、“上一條”、“下一條”和“最后一條”的功能。 但直接使用控件瀏覽不是很好看,可通過單擊按鈕完成。必須使用RecordSet記錄集的屬性和方法來實現(xiàn)。 (1) AbsolutePosition屬性 AbsolutePosition屬性返回當(dāng)前指針值,如果是第1條記錄,其值為0。該屬性為只讀屬性。 在Data控件的Reposition事件中,修改Data控件的Caption屬性。 (2)Recor
16、dCount屬性 RecordCount屬性對Recordset對象中的記錄計數(shù),為只讀屬性。 (3)BOF和EOF屬性,.,26,數(shù)據(jù)控件Data,編寫實現(xiàn)信息瀏覽的代碼,主要方法 (1) Move方法 MoveFirst方法:移至第一條記錄。 MoveLast方法:移至最后一條記錄。 MoveNext方法:移至下一條記錄。 MovePrevious方法:移至上一條記錄。 Move n方法:向前或向后移動n條記錄,n為指定的數(shù)值。 (2)Find 方法 RecordCount屬性對Recordset對象中的記錄計數(shù),為只讀屬性。,.,27,數(shù)據(jù)控件Data,編寫實現(xiàn)信息瀏覽的代碼,主要方法
17、(2)Find 方法 使用Find方法可在指定的Dynaset或Snapshot類型的Recordset對象中查找與指定條件相符的一條記錄,并使之成為當(dāng)前記錄。共有如下四種Find方法: FindFirst方法:從記錄集的開始查找滿足條件的第1條記錄。 FindLast方法:從記錄集的尾部向前查找滿足條件的第1條記錄。 FindNext方法:從當(dāng)前記錄開始查找滿足條件的下一條記錄。 FindPrevious方法:從當(dāng)前記錄開始查找滿足條件的上一條記錄。 四種Find方法的語法格式相同: 數(shù)據(jù)集合.Find方法 條件 其中,條件是一個指定字段與常量關(guān)系的字符串表達(dá)式。,.,28,數(shù)據(jù)控件Data
18、,編寫實現(xiàn)信息瀏覽的代碼,在寫條件時有以下幾點需要說明: (1)在 語句Data1.Recordset.FindFirst 編號= & bh & 中,bh是個字符串變量,必須使用符號“&”進(jìn)行字符串的連接,其兩側(cè)必須加空格。 (2)如果要查找的條件部分是個字符串常量,如查找編號為“000010”的記錄,則要寫成如下形式:Data1.Recordset.FindFirst 編號=000010。即字符串常量用單引號括起來。 (3)如果要查找的條件部分是個數(shù)值常量,如查找參考價格大于5000的記錄,則要寫成如下形式:Data1.Recordset.FindFirst 參考價格=5000 ,若將500
19、0存入整型變量jg,則寫成:Data1.Recordset.FindFirst 參考價格= & jg (4)可以將條件部分存放在字符串變量中,然后在Find方法使用該字符串變量。如: Findstr=編號= & bh & Data1. Recordset.FindFirst Findstr,.,29,數(shù)據(jù)控件Data,編寫實現(xiàn)信息瀏覽的代碼,在寫條件時有以下幾點需要說明: (5)如果要進(jìn)行模糊查詢,如查找型號中含有字符“S”的筆記本電腦記錄,則可以使用如下語句: Data1. Recordset.FindFirst 型號 Like *S* 其中Like是個運算符,*S*匹配型號字段中帶有“S”
20、字符的所有型號的字符串。 (6)Find方法進(jìn)行的查找在默認(rèn)情況下是不區(qū)分大小寫的。要改變默認(rèn)查找方法,可在窗體的聲明部分或聲明模塊中使用下列語句: Option Compare Text 不區(qū)分大小寫 Option Compare Binary 區(qū)分大小寫 (7)Find方法在找不到相匹配的記錄時,當(dāng)前記錄保持在查找的起始處,NoMatch屬性為True。如果Find方法找到相匹配的記錄,則定位到該記錄,Recordset的NoMatch屬性為False。,.,30,數(shù)據(jù)控件Data,編寫實現(xiàn)信息瀏覽的代碼,數(shù)據(jù)控件的事件: (1)Reposition事件 Reposition事件發(fā)生在一條
21、記錄成為當(dāng)前記錄后。只要改變記錄集的指針使其從一條記錄移到另一條記錄,都會觸發(fā)Reposition事件。通常,可在此事件中顯示當(dāng)前指針的位置。 (2)Validate事件 Validate事件是在移動到一條不同記錄之前出現(xiàn)。此外,當(dāng)修改或刪除數(shù)據(jù)表中的記錄前或卸載含有數(shù)據(jù)控件的窗體時都會觸發(fā)Validate事件。Validate事件能檢查被數(shù)據(jù)控件綁定的控件內(nèi)的數(shù)據(jù)是否發(fā)生變化。它通過Save參數(shù)(True或False)判斷是否有數(shù)據(jù)發(fā)生變化,Action參數(shù)判斷哪一種操作觸發(fā)了Validate事件。,.,31,數(shù)據(jù)控件Data,編寫實現(xiàn)信息瀏覽的代碼,表8.3 Validate事件的Acti
22、on參數(shù),.,32,數(shù)據(jù)控件Data,員工基本信息維護(hù),在前面瀏覽信息窗體中,只能瀏覽信息,卻不能進(jìn)行維護(hù)。在上面添加幾個用于維護(hù)的按鈕,界面設(shè)計如圖:,實例演示,.,33,數(shù)據(jù)控件Data,員工基本信息維護(hù),1.增加記錄 AddNew方法在記錄集中增加新記錄。增加記錄的步驟為: (1)調(diào)用AddNew方法 (2)給字段賦值,格式為:Recordset.Fields(字段名)=值 (3)調(diào)用Update方法,確定所做的添加,將緩沖區(qū)內(nèi)的數(shù)據(jù)寫入數(shù)據(jù)庫,提示: 如果使用AddNew方法增加了新記錄,但是沒有使用Update方法而移動到其他記錄,或者關(guān)閉了記錄集,那么所做的輸入將全部丟失,而沒有任
23、何警告。當(dāng)調(diào)用Update方法寫入記錄后,記錄指針自動從新記錄返回到添加記錄前的位置上,而不顯示新記錄。為此,可在調(diào)用Update方法后,使用MoveLast方法將記錄指針再次移到新記錄上。,.,34,數(shù)據(jù)控件Data,員工基本信息維護(hù),2.刪除記錄 要從記錄集中刪除記錄的操作分為三步: (1)定位被刪除的記錄使之成為當(dāng)前記錄。 (2)調(diào)用Delete方法。 (3)移動記錄指針。,提示: 在使用Delete方法時,當(dāng)前記錄立即刪除,不加任何的警告或者提示,可在Delete方法之前增加提示信息。刪除一條記錄后,被數(shù)據(jù)庫所約束的綁定控件仍舊顯示該記錄的內(nèi)容。因此,必須移動記錄指針?biāo)⑿陆壎丶话?/p>
24、采用移至下一條記錄的處理方法,并檢查EOF屬性。,.,35,數(shù)據(jù)控件Data,員工基本信息維護(hù),3.修改記錄 (1)調(diào)用Edit方法。 (2)給各字段賦值。 (3)調(diào)用Update方法,確定所做的修改。,提示: 如果要放棄對數(shù)據(jù)的修改,在使用Update方法之前,可使用UpdateControls方法或Refresh方法。,.,36,ADO控件與查詢,員工工資信息維護(hù),.添加控件 要使用ADO控件,必須先將其添加到工具箱中,具體方法如下: (1)單擊“工程”“部件”,打開“部件”對話框,選擇Microsoft ADO Data Control 6.0(OLEDB)。 (2)單擊“確定”按鈕,即
25、可將ADO控件 添加到工具箱中。,實例演示-實例8.2總,.,37,ADO控件與查詢,員工工資信息維護(hù),2.使用控件 要使ADO控件訪問數(shù)據(jù)庫,其實現(xiàn)過程如下: (1)在窗體上添加ADO數(shù)據(jù)控件。 (2)設(shè)置ADO控件的“ConnectionString”屬性,建立與數(shù)據(jù)庫提供者的連接。 (3)設(shè)置ADO控件的“RecordSource”屬性,定義記錄源和從記錄源中產(chǎn)生記錄集。 (4)設(shè)置數(shù)據(jù)綁定控件的“DataSource”和“DataField”屬性,建立記錄集與數(shù)據(jù)綁定控件的聯(lián)系,并在窗體上顯示數(shù)據(jù)供用戶訪問。,.,38,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 右擊添加的
26、ADO控件,選擇“ADODC屬性”,打開“屬性頁”對話框: (1)ConnectionString屬性 在對話框中,單擊“生成”,打開“數(shù)據(jù)連接屬性”對話框,選擇“選擇“Microsoft Jet 4.0 OLE DB Provider”;,.,39,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 (1)ConnectionString屬性 單擊“下一步”,選擇或輸入數(shù)據(jù)庫名稱,此處只輸入“wages.mdb”,單擊“測試連接”,看是否連接成功。,.,40,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 (2)RecordSource屬性 該屬性用來設(shè)置與ADO連接的數(shù)據(jù)庫中的
27、記錄集。在ADO“屬性頁”對話框中,單擊“記錄源”選項卡,其中有4種命令類型,可從中選擇一種,如圖8.30所示。 (1)8-adCmdUnknown:未知,為系統(tǒng)默認(rèn)值。 (2)1-adCmdText:文本命令類型,使用SQL命令。 (3)2-adCmdTable:數(shù)據(jù)表。如果數(shù)據(jù)源記錄集是單一表,可使用此方式。 (4)3-adCmdstoredProc:存儲過程。,圖8.30 “記錄源”選項卡,.,41,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 (3)Fields屬性 Recordset的Fields屬性是一個集合,每個Field(字段)對象對應(yīng)于Recordset中的一列,使
28、用Field對象的Value屬性設(shè)置或返回當(dāng)前記錄的數(shù)據(jù)。 如:Adodc1.Recordset.Fields(編號)= 110001 即是對數(shù)據(jù)集中的“編號”字段進(jìn)行賦值。如果“編號”字段是數(shù)據(jù)集中的第一個字段,還可使用如下方式使用: Adodc1.Recordset.Fields(0)= 110001,.,42,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 (3)Fields屬性 Recordset的Fields屬性是一個集合,每個Field(字段)對象對應(yīng)于Recordset中的一列,使用Field對象的Value屬性設(shè)置或返回當(dāng)前記錄的數(shù)據(jù)。 如:Adodc1.Records
29、et.Fields(編號)= 110001 即是對數(shù)據(jù)集中的“編號”字段進(jìn)行賦值。如果“編號”字段是數(shù)據(jù)集中的第一個字段,還可使用如下方式使用: Adodc1.Recordset.Fields(0)= 110001,.,43,ADO控件與查詢,員工工資信息維護(hù),4. 數(shù)據(jù)綁定控件綁定DataGrid控件 (1)添加DataGrid控件 單擊“工程”“部件”,在打開的對話框中選擇“Microsoft DataGrid Control 6.0(OLEDB)”,將DataGrid控件添加到工具箱,在將其繪制到窗體上。 (2)在窗體上放置ADO控件并設(shè)置屬性 (3)設(shè)置ADO控件的記錄源 (4)設(shè)置D
30、ataGrid控件的DataSource屬性,將DataGrid綁定到Ado (5)右擊DataGrid控件,從彈出的快捷菜單中選擇“檢索字段”,則Ado記錄集中的字段就顯示在DataGrid控件上。 (6)右擊DataGrid控件,從彈出的快捷菜單中選擇“屬性”,打開“屬性頁”對話框,可在此設(shè)置DataGrid控件的外觀,如字體,背景,前景,是否有滾動條,是否允許添加、刪除、修改等。,.,44,ADO控件與查詢,員工工資信息維護(hù),4. 數(shù)據(jù)綁定控件綁定DataGrid控件 (7)右擊DataGrid控件,從彈出的快捷菜單中選擇“編輯”,進(jìn)入數(shù)據(jù)網(wǎng)格字段布局的編輯狀態(tài),此時,可將鼠標(biāo)放在兩個字
31、段的邊線上,鼠標(biāo)指針變成雙向箭頭時,可調(diào)整列寬。右擊需要刪除的字段名,從彈出的快捷菜單中選擇“刪除”,就可以從DataGrid控件中刪除該字段。,圖8.34 DataGrid控件的屬性頁,.,45,ADO控件與查詢,員工工資信息維護(hù),5. 實現(xiàn)記錄的添加、刪除和修改 (1)ADO控件的方法。,.,46,ADO控件與查詢,員工工資信息維護(hù),5. 實現(xiàn)記錄的添加、刪除和修改 (2)DataGrid控件屬性。,.,47,ADO控件與查詢,信息查詢,1. Select語句格式 常見的Select語句包括六部分,其語法格式為: Select 字段名列表 From 表名 Where 條件 Group By
32、 分組字段 Having 分組條件 Order By 字段Asc|Desc,實例演示-信息查詢,.,48,ADO控件與查詢,信息查詢,表8.6 合計函數(shù),實例演示-信息統(tǒng)計,.,49,ADO控件與查詢,信息查詢,1.單表查詢 2.多表查詢 3.統(tǒng)計查詢,.,50,報表制作,實例演示,實例演示-報表打印,.,51,報表制作,制作過程,1. 建立數(shù)據(jù)環(huán)境,(1)單擊“工程”“添加Data Environment”,打開如圖8.43所示的“Data Environment”窗口; (2)右擊“Connection1”,從彈出的快捷菜單中選擇“屬性”,打開數(shù)據(jù)鏈接屬性對話框,與圖8.27一樣,按照向?qū)б来芜x擇提供程序、連接數(shù)據(jù)庫的路徑和名稱,并測試是否連接成功。此例中選擇“Microsoft Jet 4.0 OLE DB Provider”,數(shù)據(jù)庫選擇“wage.mdb”。,圖8.43 “Data Environment”窗口,.,52,報表制作,制作過程,1. 建立數(shù)據(jù)環(huán)境,(3)右擊“Connection1”,從彈出的快捷菜單中選擇“添加命令”,此時在“Connection1”下添加一個“Command1”,右擊,選擇“屬性”,打開“Command1屬性”對話框,如圖8.44所示。,圖8.44 “Command1屬性”對話框,.,53,報表制作,制作過程,1
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考地理總復(fù)習(xí)-第七章-人口的變化-第18講-人口的空間變化
- 初中數(shù)學(xué)教學(xué)滿意度調(diào)查報告
- 統(tǒng)計學(xué)院考研數(shù)學(xué)真題與答題技巧
- 市政工程監(jiān)理工作流程
- 電氣設(shè)計抗震規(guī)范詳解
- 客戶滿意度問卷調(diào)查模板
- 房地產(chǎn)銷售合同簽訂技巧詳解
- 幼兒園課程教學(xué)案例分析
- 化工廠節(jié)后安全生產(chǎn)復(fù)工指導(dǎo)
- 低年級學(xué)生期末評語及家長溝通指南
- 膀胱切除術(shù)術(shù)后護(hù)理
- 知道智慧樹生態(tài)經(jīng)濟(jì)學(xué)(南昌大學(xué))滿分測試答案
- 醫(yī)院財務(wù)數(shù)據(jù)總結(jié)工作匯報
- 集團(tuán)戰(zhàn)略發(fā)展工作匯報
- (正式版)DB32∕T 3817-2025 《農(nóng)業(yè)用水定額》
- 2025年電商平臺運營總監(jiān)資格認(rèn)證考試試題及答案
- 浙江省2025年初中學(xué)業(yè)水平考試浙真組合·錢塘甬真卷(含答案)
- 《察今》(課件)-【中職專用】高二語文(高教版2023拓展模塊下冊)
- GB/T 30425-2025高壓直流輸電換流閥水冷卻設(shè)備
- GB/T 45355-2025無壓埋地排污、排水用聚乙烯(PE)管道系統(tǒng)
- 2025年園長大賽測試題及答案
評論
0/150
提交評論