vb數(shù)據(jù)庫(kù)教程PPT課件_第1頁(yè)
vb數(shù)據(jù)庫(kù)教程PPT課件_第2頁(yè)
vb數(shù)據(jù)庫(kù)教程PPT課件_第3頁(yè)
vb數(shù)據(jù)庫(kù)教程PPT課件_第4頁(yè)
vb數(shù)據(jù)庫(kù)教程PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.,1,軟件設(shè)計(jì)基礎(chǔ),河北理工大學(xué),VB程序設(shè)計(jì),.,2,第8章 數(shù)據(jù)庫(kù)程序設(shè)計(jì),本章學(xué)習(xí)目標(biāo): 了解數(shù)據(jù)庫(kù)的一些基本概念,掌握創(chuàng)建Access數(shù)據(jù)庫(kù)的方法 掌握使用DATA和ADO數(shù)據(jù)控件連接數(shù)據(jù)庫(kù)和數(shù)據(jù)表的方法 掌握數(shù)據(jù)識(shí)別控件綁定到ADO數(shù)據(jù)控件的方法 掌握ADO控件的Recordset對(duì)象常用方法和屬性 理解ADO對(duì)象模型的概念,掌握使用ADO對(duì)象模型編程的方法和步驟 掌握SQL查詢語(yǔ)句在VB中的使用,.,3,第8章 數(shù)據(jù)庫(kù)程序設(shè)計(jì),本章重點(diǎn) ADO控件的Recordset對(duì)象的使用 ADO對(duì)象模型的使用 本章難點(diǎn) 使用ADO對(duì)象模型編程實(shí)現(xiàn)數(shù)據(jù)庫(kù)的訪問(wèn),.,4,學(xué)習(xí)內(nèi)容,實(shí)例演示及分

2、析 數(shù)據(jù)庫(kù)基本概念 創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表 數(shù)據(jù)控件DATA- 常用控件的屬性、事件和方法 數(shù)據(jù)記錄的增刪改 ADO數(shù)據(jù)控件和SQL查詢-ADO訪問(wèn)數(shù)據(jù)模型、常用屬性和方法 綁定控件 數(shù)據(jù)窗體向?qū)?數(shù)據(jù)報(bào)表制作,.,5,員工工資管理系統(tǒng),實(shí)例演示,在第6章講解了文件,并用文件保存員工工資管理系統(tǒng)中的職工信息,實(shí)現(xiàn)了程序和數(shù)據(jù)的分離,但是使用文本文件保存和管理數(shù)據(jù),保存的數(shù)據(jù)量小、安全性差、數(shù)據(jù)不直觀,而且管理困難。數(shù)據(jù)庫(kù)技術(shù)可以實(shí)現(xiàn)對(duì)數(shù)據(jù)進(jìn)行科學(xué)的組織、存儲(chǔ)和有效集中管理,而VB也為用戶提供了訪問(wèn)數(shù)據(jù)庫(kù)的功能。,實(shí)例演示-實(shí)例8.1(實(shí)例8.1總),.,6,員工工資管理系統(tǒng),問(wèn)題分析,本章的目標(biāo)是

3、將第6章以文本文件為數(shù)據(jù)源的員工工資管理系統(tǒng)改為以數(shù)據(jù)庫(kù)為數(shù)據(jù)源的員工工資管理系統(tǒng)。數(shù)據(jù)庫(kù)管理系統(tǒng)是對(duì)數(shù)據(jù)實(shí)施有效集中管理的專門(mén)軟件,這樣的管理方式相對(duì)以文本文件為數(shù)據(jù)源方式的功能強(qiáng)、效率高,保存的數(shù)據(jù)量大,安全性好。,.,7,員工工資管理系統(tǒng),問(wèn)題分析,根據(jù)系統(tǒng)的功能需求分析,設(shè)計(jì)完成該系統(tǒng),必須首先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),用以保存員工的基本信息,這樣才可以在Visual Basic中調(diào)用數(shù)據(jù)庫(kù)中的數(shù)據(jù),并以某種方式顯示出來(lái)。 要設(shè)計(jì)一個(gè)具有數(shù)據(jù)信息管理功能的系統(tǒng),需要下面幾個(gè)步驟: (1)確定并設(shè)計(jì)系統(tǒng)需要的數(shù)據(jù)庫(kù)和數(shù)據(jù)表,并創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表。 (2)新建工程,根據(jù)要求設(shè)計(jì)界面。 (3)實(shí)現(xiàn)VB

4、工程與數(shù)據(jù)庫(kù)的連接。 (4)編寫(xiě)代碼實(shí)現(xiàn)相應(yīng)功能。,.,8,數(shù)據(jù)庫(kù)基本概念,數(shù)據(jù)庫(kù)系統(tǒng),1. 數(shù)據(jù)庫(kù) 數(shù)據(jù)是指能被計(jì)算機(jī)存儲(chǔ)和處理的反映客觀實(shí)體信息的物理符號(hào)。數(shù)字、文字、表格、音頻、視頻、圖形、圖像和動(dòng)畫(huà)等都被稱為數(shù)據(jù)。數(shù)據(jù)庫(kù)(Data Base,簡(jiǎn)記為DB)則是為某種特殊目的而組織起來(lái)的記錄和文件的集合。 2. 數(shù)據(jù)庫(kù)管理系統(tǒng) 數(shù)據(jù)庫(kù)管理系統(tǒng)(Data Base Manage System,簡(jiǎn)稱為DBMS),是數(shù)據(jù)庫(kù)系統(tǒng)中對(duì)數(shù)據(jù)進(jìn)行管理的專門(mén)軟件,是數(shù)據(jù)庫(kù)系統(tǒng)的核心組成部分,對(duì)數(shù)據(jù)庫(kù)的所有操作和控制,都是通過(guò)DBMS來(lái)進(jìn)行的。 3. 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng) 是在某種DBMS的支持下,根據(jù)實(shí)際應(yīng)用的

5、需要,開(kāi)發(fā)出來(lái)的應(yīng)用程序包,.,9,數(shù)據(jù)庫(kù)基本概念,關(guān)系數(shù)據(jù)庫(kù),1.數(shù)據(jù)模型 數(shù)據(jù)模型是表示數(shù)據(jù)及數(shù)據(jù)之間聯(lián)系的結(jié)構(gòu)方式。在實(shí)際的數(shù)據(jù)處理中,先將現(xiàn)實(shí)世界的事物及其聯(lián)系抽象為信息世界的信息模型,再將信息模型抽象轉(zhuǎn)化為計(jì)算機(jī)世界的數(shù)據(jù)模型。數(shù)據(jù)模型的好壞直接影響數(shù)據(jù)庫(kù)的性能。數(shù)據(jù)模型的設(shè)計(jì)方法決定著數(shù)據(jù)庫(kù)的設(shè)計(jì)方法,目前流行的模型有:網(wǎng)狀模型、層次模型和關(guān)系模型。 (1)網(wǎng)狀模型是用圖結(jié)構(gòu)來(lái)表示數(shù)據(jù)之間的聯(lián)系。 (2)層次模型是用樹(shù)結(jié)構(gòu)來(lái)表示數(shù)據(jù)之間的聯(lián)系。 (3)關(guān)系模型是用二維表結(jié)構(gòu)來(lái)表示數(shù)據(jù)之間的聯(lián)系。 關(guān)系模型是一種較先進(jìn)的模型,目前幾乎所有的現(xiàn)代DBMS都使用關(guān)系數(shù)據(jù)庫(kù)模型來(lái)存儲(chǔ)和處理

6、信息。在關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中,系統(tǒng)以表的形式管理所有數(shù)據(jù)。,.,10,數(shù)據(jù)庫(kù)基本概念,關(guān)系數(shù)據(jù)庫(kù),2.關(guān)系數(shù)據(jù)庫(kù) 關(guān)系數(shù)據(jù)庫(kù)是以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫(kù),它由以下三部分組成: (1)數(shù)據(jù)結(jié)構(gòu)模型所操作的對(duì)象、類型的集合。 (2)完整性規(guī)則保證數(shù)據(jù)有效、正確的約束條件。 (3)數(shù)據(jù)操作對(duì)模型對(duì)象所允許執(zhí)行的操作方式。 3.關(guān)系表 (1)關(guān)系:關(guān)系(Relation)是一個(gè)由行和列組成的二維表格,也稱為關(guān)系表或表。 (2)字段:表由若干行和若干列組成,每一列稱為字段(Field)。 (3)記錄:表中的每一行稱為記錄(Record) 。 (4) 值:在表中的行和列,凡記錄和字段的相交處就是值存儲(chǔ)的數(shù)據(jù)

7、元素 。 (5)表的主鍵和索引:,.,11,數(shù)據(jù)庫(kù)基本概念,關(guān)系數(shù)據(jù)庫(kù),.,12,數(shù)據(jù)庫(kù)基本概念,關(guān)系數(shù)據(jù)庫(kù),4.記錄集 數(shù)據(jù)庫(kù)可以由多個(gè)表組成,表與表之間可以用不同的方式相互關(guān)聯(lián)。例如在筆記本信息管理數(shù)據(jù)庫(kù)中還有一個(gè)基本配置表,其結(jié)構(gòu)如圖8.8所示。在該表中只需一個(gè)編號(hào)字段引用筆記本的品牌和價(jià)格信息等,而不必重復(fù)每一個(gè)字段,通過(guò)兩個(gè)表中相同的編號(hào)字段就可以把筆記本的配置信息和價(jià)格信息等聯(lián)系起來(lái)了。,圖8.8 基本配置表的結(jié)構(gòu),.,13,數(shù)據(jù)庫(kù)基本概念,關(guān)系數(shù)據(jù)庫(kù),4.記錄集 在Visual Basic中,可以將一個(gè)或幾個(gè)表中的數(shù)據(jù)構(gòu)成記錄集RecordSet對(duì)象,記錄集也由行和列構(gòu)成,它與表

8、類似,如圖8.9所示。,.,14,數(shù)據(jù)庫(kù)基本概念,關(guān)系數(shù)據(jù)庫(kù),4.記錄集 在Visual Basic中數(shù)據(jù)庫(kù)內(nèi)的表格不允許直接訪問(wèn),而只能通過(guò)記錄集對(duì)象進(jìn)行記錄的操作和瀏覽,因此,記錄集是一種瀏覽數(shù)據(jù)庫(kù)的工具。用戶可根據(jù)需要,通過(guò)使用記錄集對(duì)象選擇數(shù)據(jù)。,記錄集有三種類型: 表類型(Table):表類型的RecordSet對(duì)象是當(dāng)前數(shù)據(jù)庫(kù)真實(shí)的數(shù)據(jù)表。它比其他類型的記錄集處理速度都快,但需要大量的內(nèi)存開(kāi)銷。 動(dòng)態(tài)集類型(DynaSet):動(dòng)態(tài)集類型的RecordSet對(duì)象是可以更新的數(shù)據(jù)集,它實(shí)際上是對(duì)一個(gè)或者幾個(gè)表中的記錄的引用。 快照類型(SnapShot):快照類型的RecordSet對(duì)

9、象是靜態(tài)數(shù)據(jù)的顯示。它包含的數(shù)據(jù)是固定的,記錄集為只讀狀態(tài),它反映了在產(chǎn)生快照的一瞬間數(shù)據(jù)庫(kù)的狀態(tài)??煺帐亲钊鄙凫`活性的記錄集,但它所需要的內(nèi)存開(kāi)銷最少。如果只是瀏覽記錄,可以用快照類型,.,15,數(shù)據(jù)庫(kù)的創(chuàng)建,任務(wù)分析,在員工工資管理系統(tǒng)中,要保存員工個(gè)人信息,即員工編號(hào)、姓名、年齡、所在部門(mén)、職位等,還要保存員工工資信息,即員工編號(hào)、基本工資、獎(jiǎng)金、各種補(bǔ)助。因此需要建立一個(gè)數(shù)據(jù)庫(kù),庫(kù)中要有兩張表。 數(shù)據(jù)庫(kù)創(chuàng)建有很多軟件,如Access、SQL Sever、VFP等。我們使用Access數(shù)據(jù)庫(kù),可以用Access數(shù)據(jù)庫(kù)開(kāi)發(fā)軟件創(chuàng)建,也可以用VB集成開(kāi)發(fā)環(huán)境中的“可視化數(shù)據(jù)管理器”創(chuàng)建。,.

10、,16,數(shù)據(jù)庫(kù)的創(chuàng)建,操作步驟,啟動(dòng)VB新建工程。 建立數(shù)據(jù)庫(kù)。 (1)在VB集成開(kāi)發(fā)環(huán)境中,單擊“外接程序”“可視化數(shù)據(jù)管理器”,打開(kāi)可視化數(shù)據(jù)管理器的“VisData”窗口,如圖8.10所示。 (2)單擊“文件”“新建”“Microsoft Access” “Version 7.0 MDB”,打開(kāi)“選擇要?jiǎng)?chuàng)建的Microsoft Access 數(shù)據(jù)庫(kù)”對(duì)話框。 (3)在該對(duì)話框中數(shù)據(jù)要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)文件的名稱, 指定保存的路徑。一般將數(shù)據(jù)庫(kù)保存在和工程文件 相同的文件夾中。,圖8.10 可視化數(shù)據(jù)管理器窗口,.,17,數(shù)據(jù)庫(kù)的創(chuàng)建,操作步驟,.,18,數(shù)據(jù)庫(kù)的創(chuàng)建,操作步驟,3.建立數(shù)據(jù)表。

11、 (1)確定表結(jié)構(gòu)。 員工基本信息表 員工工資表,.,19,數(shù)據(jù)庫(kù)的創(chuàng)建,操作步驟,3.建立數(shù)據(jù)表。 (2)建立表結(jié)構(gòu)。 在圖8.11所示的“數(shù)據(jù)庫(kù)窗口”的空白處右擊,從彈出的快捷菜單中選擇“新建表”,打開(kāi)如圖8.12所示的表結(jié)構(gòu)對(duì)話框。 在“表名稱”文本框中輸入數(shù)據(jù)表的名稱,“添加字段”按鈕 所有字段添加之后,單擊“生成表”。 (3)輸入表記錄。,圖8.12 “表結(jié)構(gòu)”對(duì)話框,.,20,數(shù)據(jù)庫(kù)的創(chuàng)建,操作步驟,3.建立數(shù)據(jù)表。 (3)輸入表記錄。 雙擊表名稱,即可 輸入表記錄,如圖所示。,.,21,數(shù)據(jù)控件Data,員工基本信息瀏覽,要在Visual Basic中訪問(wèn)數(shù)據(jù)庫(kù),就要使用一個(gè)能夠

12、訪問(wèn)數(shù)據(jù)庫(kù)的控件。主要有Data控件、DAO控件、ADO控件等,其中Data控件 是Visual Basic內(nèi)嵌的一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的方便的工具。,實(shí)例演示,設(shè)計(jì)程序界面 添加Data控件,.,22,數(shù)據(jù)控件Data,使用Data控件連接數(shù)據(jù)庫(kù)和數(shù)據(jù)表,設(shè)置Data控件屬性 (1)Connect屬性 Connect屬性指定數(shù)據(jù)控件所要連接的數(shù)據(jù)庫(kù)類型,VB默認(rèn)的數(shù)據(jù)庫(kù)是Access的MDB文件。此外,也可連接DBF、XLS、ODBC等類型的數(shù)據(jù)庫(kù)。 (2)DatabaseName屬性 DatabaseName屬性指定具體使用的數(shù)據(jù)庫(kù)文件名,包括所有的路徑名。 本例中選wages.mdb。 注意:最

13、好將數(shù)據(jù)庫(kù)文件和工程文件放在同一個(gè)文件夾下,這樣設(shè)置其DatabaseName屬性時(shí)只寫(xiě)文件名即可。否則,如果寫(xiě)絕對(duì)路徑,則隨著工程文件位置的改變,可能出現(xiàn)找不到數(shù)據(jù)庫(kù)文件的錯(cuò)誤。,.,23,數(shù)據(jù)控件Data,使用Data控件連接數(shù)據(jù)庫(kù)和數(shù)據(jù)表,設(shè)置Data控件屬性 (3)RecordSource屬性 RecordSource屬性確定具體可訪問(wèn)的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成記錄集對(duì)象的RecordSet對(duì)象。該屬性值可以是數(shù)據(jù)庫(kù)中的單個(gè)表名,一個(gè)存儲(chǔ)查詢,也可以是使用SQL查詢語(yǔ)言的一個(gè)查詢字符串。(本例這中選info) (4) RecordType屬性 確定記錄集類型,指定記錄集的Table、Dyna

14、Set、SnapShot三種類型中的一種. 本例中因?yàn)橹皇菫g覽信息,無(wú)需修改記錄,故可將其類型選為SnapShot,.,24,數(shù)據(jù)控件Data,將數(shù)據(jù)綁定控件綁定到Data控件,在Visual Basic中,數(shù)據(jù)控件本身不能直接顯示記錄集中的數(shù)據(jù),必須通過(guò)能與它綁定的控件來(lái)實(shí)現(xiàn)。可與數(shù)據(jù)控件綁定的控件對(duì)象有文本框、標(biāo)簽、圖像框、圖形框、列表框、組合框、復(fù)選框、網(wǎng)格、DB列表框、DB網(wǎng)格和OLE容器等空間。 本例中的數(shù)據(jù)綁定控件為文本框。必須設(shè)置數(shù)據(jù)綁定控件的兩個(gè)屬性: (1) DataSource屬性 通過(guò)指定一個(gè)有效的數(shù)據(jù)控件綁定控件連接到一個(gè)數(shù)據(jù)源上。 (2)DataField屬性 設(shè)置數(shù)

15、據(jù)源中有效的字段使綁定控件與其建立聯(lián)系。 本實(shí)例中分別設(shè)置幾個(gè)文本框的上述兩個(gè)屬性。,.,25,數(shù)據(jù)控件Data,編寫(xiě)實(shí)現(xiàn)信息瀏覽的代碼,Data控件本身就有瀏覽記錄的功能,單擊對(duì)應(yīng)按鈕可實(shí)現(xiàn)“第一條”、“上一條”、“下一條”和“最后一條”的功能。 但直接使用控件瀏覽不是很好看,可通過(guò)單擊按鈕完成。必須使用RecordSet記錄集的屬性和方法來(lái)實(shí)現(xiàn)。 (1) AbsolutePosition屬性 AbsolutePosition屬性返回當(dāng)前指針值,如果是第1條記錄,其值為0。該屬性為只讀屬性。 在Data控件的Reposition事件中,修改Data控件的Caption屬性。 (2)Recor

16、dCount屬性 RecordCount屬性對(duì)Recordset對(duì)象中的記錄計(jì)數(shù),為只讀屬性。 (3)BOF和EOF屬性,.,26,數(shù)據(jù)控件Data,編寫(xiě)實(shí)現(xiàn)信息瀏覽的代碼,主要方法 (1) Move方法 MoveFirst方法:移至第一條記錄。 MoveLast方法:移至最后一條記錄。 MoveNext方法:移至下一條記錄。 MovePrevious方法:移至上一條記錄。 Move n方法:向前或向后移動(dòng)n條記錄,n為指定的數(shù)值。 (2)Find 方法 RecordCount屬性對(duì)Recordset對(duì)象中的記錄計(jì)數(shù),為只讀屬性。,.,27,數(shù)據(jù)控件Data,編寫(xiě)實(shí)現(xiàn)信息瀏覽的代碼,主要方法

17、(2)Find 方法 使用Find方法可在指定的Dynaset或Snapshot類型的Recordset對(duì)象中查找與指定條件相符的一條記錄,并使之成為當(dāng)前記錄。共有如下四種Find方法: FindFirst方法:從記錄集的開(kāi)始查找滿足條件的第1條記錄。 FindLast方法:從記錄集的尾部向前查找滿足條件的第1條記錄。 FindNext方法:從當(dāng)前記錄開(kāi)始查找滿足條件的下一條記錄。 FindPrevious方法:從當(dāng)前記錄開(kāi)始查找滿足條件的上一條記錄。 四種Find方法的語(yǔ)法格式相同: 數(shù)據(jù)集合.Find方法 條件 其中,條件是一個(gè)指定字段與常量關(guān)系的字符串表達(dá)式。,.,28,數(shù)據(jù)控件Data

18、,編寫(xiě)實(shí)現(xiàn)信息瀏覽的代碼,在寫(xiě)條件時(shí)有以下幾點(diǎn)需要說(shuō)明: (1)在 語(yǔ)句Data1.Recordset.FindFirst 編號(hào)= & bh & 中,bh是個(gè)字符串變量,必須使用符號(hào)“&”進(jìn)行字符串的連接,其兩側(cè)必須加空格。 (2)如果要查找的條件部分是個(gè)字符串常量,如查找編號(hào)為“000010”的記錄,則要寫(xiě)成如下形式:Data1.Recordset.FindFirst 編號(hào)=000010。即字符串常量用單引號(hào)括起來(lái)。 (3)如果要查找的條件部分是個(gè)數(shù)值常量,如查找參考價(jià)格大于5000的記錄,則要寫(xiě)成如下形式:Data1.Recordset.FindFirst 參考價(jià)格=5000 ,若將500

19、0存入整型變量jg,則寫(xiě)成:Data1.Recordset.FindFirst 參考價(jià)格= & jg (4)可以將條件部分存放在字符串變量中,然后在Find方法使用該字符串變量。如: Findstr=編號(hào)= & bh & Data1. Recordset.FindFirst Findstr,.,29,數(shù)據(jù)控件Data,編寫(xiě)實(shí)現(xiàn)信息瀏覽的代碼,在寫(xiě)條件時(shí)有以下幾點(diǎn)需要說(shuō)明: (5)如果要進(jìn)行模糊查詢,如查找型號(hào)中含有字符“S”的筆記本電腦記錄,則可以使用如下語(yǔ)句: Data1. Recordset.FindFirst 型號(hào) Like *S* 其中Like是個(gè)運(yùn)算符,*S*匹配型號(hào)字段中帶有“S”

20、字符的所有型號(hào)的字符串。 (6)Find方法進(jìn)行的查找在默認(rèn)情況下是不區(qū)分大小寫(xiě)的。要改變默認(rèn)查找方法,可在窗體的聲明部分或聲明模塊中使用下列語(yǔ)句: Option Compare Text 不區(qū)分大小寫(xiě) Option Compare Binary 區(qū)分大小寫(xiě) (7)Find方法在找不到相匹配的記錄時(shí),當(dāng)前記錄保持在查找的起始處,NoMatch屬性為T(mén)rue。如果Find方法找到相匹配的記錄,則定位到該記錄,Recordset的NoMatch屬性為False。,.,30,數(shù)據(jù)控件Data,編寫(xiě)實(shí)現(xiàn)信息瀏覽的代碼,數(shù)據(jù)控件的事件: (1)Reposition事件 Reposition事件發(fā)生在一條

21、記錄成為當(dāng)前記錄后。只要改變記錄集的指針使其從一條記錄移到另一條記錄,都會(huì)觸發(fā)Reposition事件。通常,可在此事件中顯示當(dāng)前指針的位置。 (2)Validate事件 Validate事件是在移動(dòng)到一條不同記錄之前出現(xiàn)。此外,當(dāng)修改或刪除數(shù)據(jù)表中的記錄前或卸載含有數(shù)據(jù)控件的窗體時(shí)都會(huì)觸發(fā)Validate事件。Validate事件能檢查被數(shù)據(jù)控件綁定的控件內(nèi)的數(shù)據(jù)是否發(fā)生變化。它通過(guò)Save參數(shù)(True或False)判斷是否有數(shù)據(jù)發(fā)生變化,Action參數(shù)判斷哪一種操作觸發(fā)了Validate事件。,.,31,數(shù)據(jù)控件Data,編寫(xiě)實(shí)現(xiàn)信息瀏覽的代碼,表8.3 Validate事件的Acti

22、on參數(shù),.,32,數(shù)據(jù)控件Data,員工基本信息維護(hù),在前面瀏覽信息窗體中,只能瀏覽信息,卻不能進(jìn)行維護(hù)。在上面添加幾個(gè)用于維護(hù)的按鈕,界面設(shè)計(jì)如圖:,實(shí)例演示,.,33,數(shù)據(jù)控件Data,員工基本信息維護(hù),1.增加記錄 AddNew方法在記錄集中增加新記錄。增加記錄的步驟為: (1)調(diào)用AddNew方法 (2)給字段賦值,格式為:Recordset.Fields(字段名)=值 (3)調(diào)用Update方法,確定所做的添加,將緩沖區(qū)內(nèi)的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),提示: 如果使用AddNew方法增加了新記錄,但是沒(méi)有使用Update方法而移動(dòng)到其他記錄,或者關(guān)閉了記錄集,那么所做的輸入將全部丟失,而沒(méi)有任

23、何警告。當(dāng)調(diào)用Update方法寫(xiě)入記錄后,記錄指針自動(dòng)從新記錄返回到添加記錄前的位置上,而不顯示新記錄。為此,可在調(diào)用Update方法后,使用MoveLast方法將記錄指針再次移到新記錄上。,.,34,數(shù)據(jù)控件Data,員工基本信息維護(hù),2.刪除記錄 要從記錄集中刪除記錄的操作分為三步: (1)定位被刪除的記錄使之成為當(dāng)前記錄。 (2)調(diào)用Delete方法。 (3)移動(dòng)記錄指針。,提示: 在使用Delete方法時(shí),當(dāng)前記錄立即刪除,不加任何的警告或者提示,可在Delete方法之前增加提示信息。刪除一條記錄后,被數(shù)據(jù)庫(kù)所約束的綁定控件仍舊顯示該記錄的內(nèi)容。因此,必須移動(dòng)記錄指針?biāo)⑿陆壎丶?,一?/p>

24、采用移至下一條記錄的處理方法,并檢查EOF屬性。,.,35,數(shù)據(jù)控件Data,員工基本信息維護(hù),3.修改記錄 (1)調(diào)用Edit方法。 (2)給各字段賦值。 (3)調(diào)用Update方法,確定所做的修改。,提示: 如果要放棄對(duì)數(shù)據(jù)的修改,在使用Update方法之前,可使用UpdateControls方法或Refresh方法。,.,36,ADO控件與查詢,員工工資信息維護(hù),.添加控件 要使用ADO控件,必須先將其添加到工具箱中,具體方法如下: (1)單擊“工程”“部件”,打開(kāi)“部件”對(duì)話框,選擇Microsoft ADO Data Control 6.0(OLEDB)。 (2)單擊“確定”按鈕,即

25、可將ADO控件 添加到工具箱中。,實(shí)例演示-實(shí)例8.2總,.,37,ADO控件與查詢,員工工資信息維護(hù),2.使用控件 要使ADO控件訪問(wèn)數(shù)據(jù)庫(kù),其實(shí)現(xiàn)過(guò)程如下: (1)在窗體上添加ADO數(shù)據(jù)控件。 (2)設(shè)置ADO控件的“ConnectionString”屬性,建立與數(shù)據(jù)庫(kù)提供者的連接。 (3)設(shè)置ADO控件的“RecordSource”屬性,定義記錄源和從記錄源中產(chǎn)生記錄集。 (4)設(shè)置數(shù)據(jù)綁定控件的“DataSource”和“DataField”屬性,建立記錄集與數(shù)據(jù)綁定控件的聯(lián)系,并在窗體上顯示數(shù)據(jù)供用戶訪問(wèn)。,.,38,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 右擊添加的

26、ADO控件,選擇“ADODC屬性”,打開(kāi)“屬性頁(yè)”對(duì)話框: (1)ConnectionString屬性 在對(duì)話框中,單擊“生成”,打開(kāi)“數(shù)據(jù)連接屬性”對(duì)話框,選擇“選擇“Microsoft Jet 4.0 OLE DB Provider”;,.,39,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 (1)ConnectionString屬性 單擊“下一步”,選擇或輸入數(shù)據(jù)庫(kù)名稱,此處只輸入“wages.mdb”,單擊“測(cè)試連接”,看是否連接成功。,.,40,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 (2)RecordSource屬性 該屬性用來(lái)設(shè)置與ADO連接的數(shù)據(jù)庫(kù)中的

27、記錄集。在ADO“屬性頁(yè)”對(duì)話框中,單擊“記錄源”選項(xiàng)卡,其中有4種命令類型,可從中選擇一種,如圖8.30所示。 (1)8-adCmdUnknown:未知,為系統(tǒng)默認(rèn)值。 (2)1-adCmdText:文本命令類型,使用SQL命令。 (3)2-adCmdTable:數(shù)據(jù)表。如果數(shù)據(jù)源記錄集是單一表,可使用此方式。 (4)3-adCmdstoredProc:存儲(chǔ)過(guò)程。,圖8.30 “記錄源”選項(xiàng)卡,.,41,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 (3)Fields屬性 Recordset的Fields屬性是一個(gè)集合,每個(gè)Field(字段)對(duì)象對(duì)應(yīng)于Recordset中的一列,使

28、用Field對(duì)象的Value屬性設(shè)置或返回當(dāng)前記錄的數(shù)據(jù)。 如:Adodc1.Recordset.Fields(編號(hào))= 110001 即是對(duì)數(shù)據(jù)集中的“編號(hào)”字段進(jìn)行賦值。如果“編號(hào)”字段是數(shù)據(jù)集中的第一個(gè)字段,還可使用如下方式使用: Adodc1.Recordset.Fields(0)= 110001,.,42,ADO控件與查詢,員工工資信息維護(hù),3.ADO控件屬性 (3)Fields屬性 Recordset的Fields屬性是一個(gè)集合,每個(gè)Field(字段)對(duì)象對(duì)應(yīng)于Recordset中的一列,使用Field對(duì)象的Value屬性設(shè)置或返回當(dāng)前記錄的數(shù)據(jù)。 如:Adodc1.Records

29、et.Fields(編號(hào))= 110001 即是對(duì)數(shù)據(jù)集中的“編號(hào)”字段進(jìn)行賦值。如果“編號(hào)”字段是數(shù)據(jù)集中的第一個(gè)字段,還可使用如下方式使用: Adodc1.Recordset.Fields(0)= 110001,.,43,ADO控件與查詢,員工工資信息維護(hù),4. 數(shù)據(jù)綁定控件綁定DataGrid控件 (1)添加DataGrid控件 單擊“工程”“部件”,在打開(kāi)的對(duì)話框中選擇“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控件,從彈出的快捷菜單中選擇“屬性”,打開(kāi)“屬性頁(yè)”對(duì)話框,可在此設(shè)置DataGrid控件的外觀,如字體,背景,前景,是否有滾動(dòng)條,是否允許添加、刪除、修改等。,.,44,ADO控件與查詢,員工工資信息維護(hù),4. 數(shù)據(jù)綁定控件綁定DataGrid控件 (7)右擊DataGrid控件,從彈出的快捷菜單中選擇“編輯”,進(jìn)入數(shù)據(jù)網(wǎng)格字段布局的編輯狀態(tài),此時(shí),可將鼠標(biāo)放在兩個(gè)字

31、段的邊線上,鼠標(biāo)指針變成雙向箭頭時(shí),可調(diào)整列寬。右擊需要?jiǎng)h除的字段名,從彈出的快捷菜單中選擇“刪除”,就可以從DataGrid控件中刪除該字段。,圖8.34 DataGrid控件的屬性頁(yè),.,45,ADO控件與查詢,員工工資信息維護(hù),5. 實(shí)現(xiàn)記錄的添加、刪除和修改 (1)ADO控件的方法。,.,46,ADO控件與查詢,員工工資信息維護(hù),5. 實(shí)現(xiàn)記錄的添加、刪除和修改 (2)DataGrid控件屬性。,.,47,ADO控件與查詢,信息查詢,1. Select語(yǔ)句格式 常見(jiàn)的Select語(yǔ)句包括六部分,其語(yǔ)法格式為: Select 字段名列表 From 表名 Where 條件 Group By

32、 分組字段 Having 分組條件 Order By 字段Asc|Desc,實(shí)例演示-信息查詢,.,48,ADO控件與查詢,信息查詢,表8.6 合計(jì)函數(shù),實(shí)例演示-信息統(tǒng)計(jì),.,49,ADO控件與查詢,信息查詢,1.單表查詢 2.多表查詢 3.統(tǒng)計(jì)查詢,.,50,報(bào)表制作,實(shí)例演示,實(shí)例演示-報(bào)表打印,.,51,報(bào)表制作,制作過(guò)程,1. 建立數(shù)據(jù)環(huán)境,(1)單擊“工程”“添加Data Environment”,打開(kāi)如圖8.43所示的“Data Environment”窗口; (2)右擊“Connection1”,從彈出的快捷菜單中選擇“屬性”,打開(kāi)數(shù)據(jù)鏈接屬性對(duì)話框,與圖8.27一樣,按照向?qū)б来芜x擇提供程序、連接數(shù)據(jù)庫(kù)的路徑和名稱,并測(cè)試是否連接成功。此例中選擇“Microsoft Jet 4.0 OLE DB Provider”,數(shù)據(jù)庫(kù)選擇“wage.mdb”。,圖8.43 “Data Environment”窗口,.,52,報(bào)表制作,制作過(guò)程,1. 建立數(shù)據(jù)環(huán)境,(3)右擊“Connection1”,從彈出的快捷菜單中選擇“添加命令”,此時(shí)在“Connection1”下添加一個(gè)“Command1”,右擊,選擇“屬性”,打開(kāi)“Command1屬性”對(duì)話框,如圖8.44所示。,圖8.44 “Command1屬性”對(duì)話框,.,53,報(bào)表制作,制作過(guò)程,1

溫馨提示

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

評(píng)論

0/150

提交評(píng)論