版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
16.1數(shù)據(jù)庫概念數(shù)據(jù)庫表
數(shù)據(jù)庫就是一組排列成易于處理和讀取的相關(guān)信息的集合。關(guān)系模型已經(jīng)成為數(shù)據(jù)庫設(shè)計事實上的標(biāo)準(zhǔn)。關(guān)系型數(shù)據(jù)庫模型
一個數(shù)據(jù)庫可以由多個表組成,表與表之間可以用不同的方式相互關(guān)聯(lián)。若第一個表中的一條記錄內(nèi)容與第二個表中多條記錄的數(shù)據(jù)相符,但第二個表中的一條記錄只能與第一個表的一條記錄的數(shù)據(jù)相符,這樣的表間關(guān)系類型叫做一對多關(guān)系。
若第一個表的一條記錄的數(shù)據(jù)內(nèi)容可與第二個表的多條記錄的數(shù)據(jù)相符,反之亦然,這樣的表間關(guān)系類型叫做多對多關(guān)系。一對多關(guān)系
可以將一個或幾個表中的數(shù)據(jù)構(gòu)成記錄集Recordset對象,記錄集也由行和列構(gòu)成,它與表類似。學(xué)號課程成績990001數(shù)學(xué)85學(xué)號姓名性別專業(yè)出生日期990001萬林男物理82-1-11990002莊前女物理82-9-21。。。。。。。。。。。。。。。
(表一)數(shù)據(jù)庫記錄集學(xué)號姓名專業(yè)課程成績990001萬林物理數(shù)學(xué)85990002莊前物理外語90。。。。。。。。。。。。。。在VB中數(shù)據(jù)庫內(nèi)的表格不允許直接訪問,而只能通過記錄集對象進行記錄的操作和瀏覽,因此,記錄集是一種瀏覽數(shù)據(jù)庫的工具。數(shù)據(jù)庫記錄集16.2數(shù)據(jù)庫管理器
VB的數(shù)據(jù)庫管理器(Visdata.exe)可用于管理數(shù)據(jù)庫。在VB開發(fā)環(huán)境內(nèi)單擊”外接程序/可視化數(shù)據(jù)管理器”命令可打開可視數(shù)據(jù)管理器。數(shù)據(jù)庫管理器使用小結(jié):1.建立新表:鼠標(biāo)右鍵單擊數(shù)據(jù)庫窗口,彈出菜單,選擇對應(yīng)命令。2.打開、刪除表,修改表結(jié)構(gòu)和建立表間的關(guān)聯(lián)等操作:右鍵單擊數(shù)據(jù)庫窗口內(nèi)的表名,彈出菜單,選擇對應(yīng)命令。3.編輯記錄:雙擊表名,打開表格輸入窗,編輯、增刪記錄。
建立Student.mdb
數(shù)據(jù)庫,所含學(xué)生基本情況表結(jié)構(gòu)如下:16.3數(shù)據(jù)控件工具箱內(nèi)數(shù)據(jù)控件圖標(biāo)形狀畫在窗體上的外觀16.3.1數(shù)據(jù)控件注:RecordSource屬性可以是數(shù)據(jù)庫中的單個表名,也可以是使用SQL查詢語言的一個查詢字符串。如果連接的是單表數(shù)據(jù)庫,則DatabaseName屬性應(yīng)設(shè)置為數(shù)據(jù)庫文件所在的子目錄名,而具體文件名放在RecordSource屬性中。能夠利用三種記錄集對象訪問數(shù)據(jù)庫中的數(shù)據(jù),連接方法:數(shù)據(jù)庫記錄集綁定控件姓名莊前性別女
數(shù)據(jù)控件只能連接數(shù)據(jù)庫產(chǎn)生記錄集,不能顯示記錄集中的數(shù)據(jù),要顯示記錄集中的數(shù)據(jù)必須通過能與它綁定的控件來實現(xiàn)。常用綁定控件綁定控件具有DataSource
和DataField兩個重要屬性,其作用如下:Data控件、記錄集與綁定控件記錄集學(xué)號姓名專業(yè)課程成績990001萬林物理數(shù)學(xué)85990002莊前物理外語90。。。。。。。。。。。。。。數(shù)據(jù)庫例16.2用一個數(shù)據(jù)網(wǎng)格控件MsFlexGrid顯示Student.mdb數(shù)據(jù)庫中基本情況表的內(nèi)容。例16.1
設(shè)計一個窗體顯示在11.2節(jié)中建立的的Student.mdb數(shù)據(jù)庫中基本情況表的內(nèi)容。屬性:Rows、Cols(網(wǎng)格的行或列數(shù));FixedRows
、FixedCols
(不可卷動的行或列數(shù))。16.3.2數(shù)據(jù)控件的事件16.3.3數(shù)據(jù)控件的常用方法Refresh16.3.4記錄集的屬性與方法1.屬性EofBofBookMark
RecordCount2.記錄集的方法
MoveLastMoveFirstMoveNextMovePreviousFindFirst、FindLast、FindNext、FindPrevious方法可在指定的Dynaset或Snapshot類型的記錄集對象中查找。Seek方法在Table表中查找。
Nomarch屬性可判定是否找到。Data1.Recordset.FindFirst
"姓名='黎明'"Nomarch=False16.3.5記錄的增刪改操作Data1.Recordset.AddNew
增加記錄數(shù)據(jù)庫UpData填入新數(shù)據(jù)編輯記錄 刪除記錄調(diào)用Edit方法。 調(diào)用Delete方法。給各字段賦值。 移動記錄指針。調(diào)用Update方法。16.4ADO數(shù)據(jù)控件
ADO是Microsoft處理數(shù)據(jù)庫信息的最新技術(shù),它是一種ActiveX對象,采用了被稱為OLEDB的數(shù)據(jù)訪問模式。它是數(shù)據(jù)訪問對象DAO、遠(yuǎn)程數(shù)據(jù)對象RDO和開放數(shù)據(jù)庫互連ODBC三種方式的擴展。ADO對象模型更為簡化,不論是存取本地的還是遠(yuǎn)程的數(shù)據(jù),都提供了統(tǒng)一的接口。16.4.2使用ADO數(shù)據(jù)控件16.4.1ADO對象模型在使用ADO數(shù)據(jù)控件前,必須先通過“工程/部件”菜單命令選擇“MicrosoftADODataControl6.0(OLEDB)”選項,將ADO數(shù)據(jù)控件添加到工具箱。ADO數(shù)據(jù)控件與VisualBasic的內(nèi)部數(shù)據(jù)控件很相似,它允許使用ADO數(shù)據(jù)控件的基本屬性快速地創(chuàng)建與數(shù)據(jù)庫的連接。工具箱內(nèi)ADO控件圖標(biāo)形狀畫在窗體上的外觀能夠利用三種記錄集對象訪問數(shù)據(jù)庫中的數(shù)據(jù),連接方法:連接操作------鼠標(biāo)右擊ADO控件,選擇快捷菜單“ADODC屬性”命令,打開ADO控件屬性頁窗:單擊選定選定數(shù)據(jù)庫選定設(shè)置完成后,ADO控件的ConnectionString屬性為:Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource=Student.mdbRecordSource屬性為:基本情況(表)ADO控件的的其他操作與Data控件相同。16.4.3ADO控件上綁定控件的使用MSFlexGridMSHFlexGridDataGridMSChartDataComboDataList16.4.4使用數(shù)據(jù)窗體向?qū)?/p>
通過數(shù)據(jù)窗體向?qū)芙⒁粋€訪問數(shù)據(jù)的窗口。在使用前必須執(zhí)行“外接程序/外接程序管理器”命令,將“VB6數(shù)據(jù)窗體向?qū)А毖b入到“外接程序”菜單中。步驟1:執(zhí)行“外接程序”菜單中的“數(shù)據(jù)窗體向?qū)А泵睢2襟E2:選擇數(shù)據(jù)庫類型。數(shù)據(jù)庫步驟3:選擇具體的數(shù)據(jù)庫文件。步驟4:設(shè)置應(yīng)用窗體的工作特性。步驟5:選擇記錄源(所需要的實際數(shù)據(jù))。步驟6:選擇所需要的操作按鈕。例11.716.5結(jié)構(gòu)化查詢語言(SQL)16.5.1結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言SQL是操作數(shù)據(jù)庫的工業(yè)標(biāo)準(zhǔn)語言。在SQL語言中,指定要做什么而不是怎么做。不需要告訴SQL如何訪問數(shù)據(jù)庫,只要告訴SQL需要數(shù)據(jù)庫做什么。利用SQL,可以確切指定想要檢索的記錄以及按什么順序檢索。可以在設(shè)計或運行時對數(shù)據(jù)控件使用SQL語句。用戶提出一個查詢,數(shù)據(jù)庫返回所有與該查詢匹配的記錄。16.5.2
使用SELECT語句查詢1.使用SELECT語句從數(shù)據(jù)庫中的獲取數(shù)據(jù)稱為查詢數(shù)據(jù)庫,查詢數(shù)據(jù)庫通過使用SELECT語句。常見的SELECT語句形式為:Select
字段表
From
表名Where查詢條件
GroupBy
分組字段OrderBy
字段[Asc|Desc]
可以在設(shè)計或代碼中對數(shù)據(jù)控件的RecordSource屬性設(shè)置SQL語句,也可將SQL語句賦予對象變量。在建立SQL語句時,如果需要通過變量構(gòu)造條件,則需要在應(yīng)用程序中將變量連接到SELECT語句。例如:
"Select*From基本情況Where專業(yè)='"&Text1&"
'"
例16.11在ADO數(shù)據(jù)控件上使用SQL語句。將例11.9中的Data控件改用ADO數(shù)據(jù)控件,用SQL語句從Student.mdb數(shù)據(jù)庫的兩個數(shù)據(jù)表中選擇數(shù)據(jù)構(gòu)成記錄集。例16.12設(shè)計一個窗體,計算Student.mdb數(shù)據(jù)庫內(nèi)學(xué)生成績表中每個學(xué)生的平均成績,產(chǎn)生姓名、平均成績和最低成績?nèi)棓?shù)據(jù),按平均成績升序排列數(shù)據(jù),并用該數(shù)據(jù)作圖。*2.使用UPDATE語句修改記錄UPDATE創(chuàng)建一個更新查詢來按照某個條件修改特定表中的字段值。其語法如下:
UPDATE[表集合]SET[表達(dá)式]WHERE[條件]例16.12a本例把學(xué)生平均成績字段的值增加了10%,并刷新網(wǎng)格。*3.使用DELETE語句查詢
可以創(chuàng)建刪除查詢來刪除FROM子句中列出的、滿足WHERE子句的一個或多個表中的記錄,其語法所示如下:
DELETE[表字段]FROM[表集合]WHERE[條件]例16.12b刪除例11.12a所產(chǎn)生temp表中平均成績<80的全部記錄,并刷新網(wǎng)格。*16.5.3使用對象變量訪問數(shù)據(jù)庫
DAO對象定義了一個可編程的對象集合。可按下列方法定義數(shù)據(jù)庫對象和記錄集對象,不必在窗體上放置數(shù)據(jù)控件。要想在程序中使用DAO對象,必須先為當(dāng)前工程引用DAO對象的數(shù)據(jù)庫引擎庫。引用方式:執(zhí)行工程菜單的引用命令,啟動引用對話框,在清單中選取“MicrosoftDAO3.51ObjectLibrary”項目。例16.12e
使用DAO模型訪問數(shù)據(jù)庫,約束綁定控件。
記錄集的字段對象可以使用如下幾種方法獲?。篟ecordset.Fields("字段名稱")、Recordset("字段名稱")Recordset.Field
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥店醫(yī)保制度
- 公考調(diào)查面試題目及答案
- 科目一校車載客載貨題目及答案
- 養(yǎng)老院老人失智癥預(yù)防與照料制度
- 考智商的題目應(yīng)用題及答案
- 養(yǎng)老院老人健康監(jiān)測人員社會保險制度
- 養(yǎng)老院家屬探訪制度
- 高數(shù)考研人物關(guān)系題目及答案
- 辦公室員工離職與入職管理制度
- 銀行業(yè)金融機構(gòu)統(tǒng)計制度
- 檢驗項目管理培訓(xùn)
- 《梅毒診斷及治療》課件
- DB45T 2313-2021 奶水牛同期發(fā)情-人工授精操作技術(shù)規(guī)程
- 購買助動車合同模板
- 三年級上冊語文 1-8單元 基礎(chǔ)知識默寫單(有答案)
- 兩個合伙人股權(quán)協(xié)議書范文模板
- GB/T 44082-2024道路車輛汽車列車多車輛間連接裝置強度要求
- 控?zé)熤嗅t(yī)科普知識講座
- 脫碳塔CO2脫氣塔設(shè)計計算
- 產(chǎn)品報價單貨物報價表(通用版)
- 皰疹性咽峽炎臨床路徑
評論
0/150
提交評論