




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第2323章章 運(yùn)用運(yùn)用VCVC開發(fā)數(shù)據(jù)庫(kù)工程開發(fā)數(shù)據(jù)庫(kù)工程前面引見了前面引見了SQL Server的一些根底對(duì)象,如數(shù)據(jù)庫(kù)、的一些根底對(duì)象,如數(shù)據(jù)庫(kù)、表等,本章開場(chǎng)經(jīng)過實(shí)踐的開發(fā)言語,來學(xué)習(xí)如何在運(yùn)用程表等,本章開場(chǎng)經(jīng)過實(shí)踐的開發(fā)言語,來學(xué)習(xí)如何在運(yùn)用程序中運(yùn)用開發(fā)言語或操作系統(tǒng)提供的數(shù)據(jù)庫(kù)模塊。序中運(yùn)用開發(fā)言語或操作系統(tǒng)提供的數(shù)據(jù)庫(kù)模塊。本章主要涉及到的知識(shí)點(diǎn)有:本章主要涉及到的知識(shí)點(diǎn)有:運(yùn)用運(yùn)用ODBC開發(fā)數(shù)據(jù)庫(kù)程序。開發(fā)數(shù)據(jù)庫(kù)程序。運(yùn)用運(yùn)用ADO開發(fā)數(shù)據(jù)庫(kù)程序。開發(fā)數(shù)據(jù)庫(kù)程序。學(xué)習(xí)學(xué)習(xí)VC中操作數(shù)據(jù)的各個(gè)類和方法。中操作數(shù)據(jù)的各個(gè)類和方法。23.1 23.1 預(yù)備數(shù)據(jù)庫(kù)預(yù)備數(shù)據(jù)庫(kù)在在
2、SQL Server中建立一個(gè)數(shù)據(jù)庫(kù),稱號(hào)為中建立一個(gè)數(shù)據(jù)庫(kù),稱號(hào)為mydb。其。其中創(chuàng)建一個(gè)表中創(chuàng)建一個(gè)表scores。23.2.1 23.2.1 創(chuàng)建創(chuàng)建ODBCODBC數(shù)據(jù)源數(shù)據(jù)源基于基于ODBC技術(shù)的數(shù)據(jù)庫(kù)運(yùn)用程序,需經(jīng)過技術(shù)的數(shù)據(jù)庫(kù)運(yùn)用程序,需經(jīng)過ODBC數(shù)據(jù)數(shù)據(jù)源源DSN來銜接數(shù)據(jù)庫(kù)。建立來銜接數(shù)據(jù)庫(kù)。建立ODBC數(shù)據(jù)源可以經(jīng)過幾種數(shù)據(jù)源可以經(jīng)過幾種方法創(chuàng)建。方法創(chuàng)建。23.2.2 23.2.2 銜接數(shù)據(jù)源銜接數(shù)據(jù)源銜接數(shù)據(jù)源可以運(yùn)用兩種方案:顯式的和隱式的。銜接數(shù)據(jù)源可以運(yùn)用兩種方案:顯式的和隱式的。1顯式的銜接數(shù)據(jù)源顯式的銜接數(shù)據(jù)源2隱式的銜接數(shù)據(jù)源隱式的銜接數(shù)據(jù)源23.2.3
3、 23.2.3 運(yùn)用運(yùn)用CRecordSetCRecordSet類創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象類創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象直接運(yùn)用直接運(yùn)用CRecordSet類創(chuàng)建對(duì)象,需求指定數(shù)據(jù)源:類創(chuàng)建對(duì)象,需求指定數(shù)據(jù)源:CDatabase base;/銜接數(shù)據(jù)源操作銜接數(shù)據(jù)源操作CRecordSet m_rs1;CRecordSet m_rs2;m_rs1.m_pDatebase=&base;m_rs2.m_pDatebase=&base;23.2.4 23.2.4 添加、修正和刪除數(shù)據(jù)添加、修正和刪除數(shù)據(jù)在在ODBC中,添加和修正數(shù)據(jù)有以下兩種方法:運(yùn)用中,添加和修正數(shù)據(jù)有以下兩種方法:運(yùn)用CRecordS
4、et類和運(yùn)用類和運(yùn)用CDatabase類執(zhí)行類執(zhí)行SQL語句。語句。1運(yùn)用運(yùn)用CRecordSet類類2運(yùn)用運(yùn)用CDatabase類類23.2.5 23.2.5 撤銷操作撤銷操作在調(diào)用在調(diào)用AddNew增添新記錄或者運(yùn)用增添新記錄或者運(yùn)用Edit成員函數(shù)對(duì)數(shù)成員函數(shù)對(duì)數(shù)據(jù)進(jìn)展修正以后,需求調(diào)用據(jù)進(jìn)展修正以后,需求調(diào)用Update()函數(shù)將變動(dòng)反映到數(shù)據(jù)函數(shù)將變動(dòng)反映到數(shù)據(jù)庫(kù)中。在調(diào)用庫(kù)中。在調(diào)用Update()函數(shù)之前,可以運(yùn)用下面代碼來撤銷函數(shù)之前,可以運(yùn)用下面代碼來撤銷更改,并恢復(fù)之前的數(shù)據(jù)記錄集。更改,并恢復(fù)之前的數(shù)據(jù)記錄集。rs.Edit();/修正語文成果修正語文成果rs. m_Ch
5、inese=94;/其他修正操作其他修正操作rs.Move(AFX_MOVE_REFRESH);23.2.6 23.2.6 查詢記錄查詢記錄查詢記錄即根據(jù)某種條件或者規(guī)那么來獲得滿足條件查詢記錄即根據(jù)某種條件或者規(guī)那么來獲得滿足條件的記錄集。例如的記錄集。例如“語文成果超越語文成果超越80分的一切同窗或者分的一切同窗或者“姓王姓王的一切男同窗等等。的一切男同窗等等。23.2.7 23.2.7 讀取數(shù)據(jù)讀取數(shù)據(jù)讀取數(shù)據(jù)是操作數(shù)據(jù)庫(kù)中最常用到的操作之一。該操讀取數(shù)據(jù)是操作數(shù)據(jù)庫(kù)中最常用到的操作之一。該操作需求運(yùn)用作需求運(yùn)用CRecordSet:GetFieldValue()函數(shù)和函數(shù)和CDBVar
6、iant類對(duì)象。類對(duì)象。23.3 23.3 運(yùn)用運(yùn)用ADOADO開發(fā)數(shù)據(jù)庫(kù)運(yùn)用開發(fā)數(shù)據(jù)庫(kù)運(yùn)用除了運(yùn)用除了運(yùn)用ODBC方式訪問數(shù)據(jù)庫(kù)外,在方式訪問數(shù)據(jù)庫(kù)外,在VC下還可以運(yùn)下還可以運(yùn)用用ADO技術(shù)訪問數(shù)據(jù)庫(kù),其特點(diǎn)主要有以下幾點(diǎn):技術(shù)訪問數(shù)據(jù)庫(kù),其特點(diǎn)主要有以下幾點(diǎn):1運(yùn)用了運(yùn)用了OOP的模型,的模型,ADO內(nèi)置了一組對(duì)象,方內(nèi)置了一組對(duì)象,方便了用戶運(yùn)用。便了用戶運(yùn)用。2和和ODBC一致,可以以一致的接口訪問多種數(shù)據(jù)一致,可以以一致的接口訪問多種數(shù)據(jù)源。源。3采用了采用了COM技術(shù),使得技術(shù),使得ADO及時(shí)支持多種編程及時(shí)支持多種編程言語,例如言語,例如Visual Basic、VBScrip
7、t等等。等等。23.3.1 ADO23.3.1 ADO內(nèi)置對(duì)象簡(jiǎn)介內(nèi)置對(duì)象簡(jiǎn)介ADO定義了一組對(duì)象,用于封裝不同的數(shù)據(jù)庫(kù)操作。定義了一組對(duì)象,用于封裝不同的數(shù)據(jù)庫(kù)操作。這些對(duì)象包括:這些對(duì)象包括:銜接銜接Connection:描畫對(duì)數(shù)據(jù)庫(kù)的銜接及其相關(guān):描畫對(duì)數(shù)據(jù)庫(kù)的銜接及其相關(guān)的操作。的操作。命令命令Command:主要用于執(zhí)行:主要用于執(zhí)行SQL語句、存儲(chǔ)過語句、存儲(chǔ)過程等操作。程等操作。記錄集記錄集RecordSet:包含數(shù)據(jù)庫(kù)中的數(shù)據(jù)記錄,:包含數(shù)據(jù)庫(kù)中的數(shù)據(jù)記錄,在其中可以編輯、查詢、添加、刪除數(shù)據(jù)。在其中可以編輯、查詢、添加、刪除數(shù)據(jù)。23.3.1 ADO23.3.1 ADO內(nèi)置對(duì)
8、象簡(jiǎn)介內(nèi)置對(duì)象簡(jiǎn)介字段字段Field:描畫表的字段信息。:描畫表的字段信息。參數(shù)參數(shù)Parameter:用于命令的參數(shù),例如存儲(chǔ)過程:用于命令的參數(shù),例如存儲(chǔ)過程的參數(shù)。的參數(shù)。錯(cuò)誤錯(cuò)誤Error:用于描畫在數(shù)據(jù)庫(kù)操作過程中產(chǎn)生的:用于描畫在數(shù)據(jù)庫(kù)操作過程中產(chǎn)生的錯(cuò)誤。錯(cuò)誤。屬性屬性Property:用于描畫:用于描畫ADO對(duì)象的屬性。對(duì)象的屬性。集合集合Set:一組包含假設(shè)干個(gè)一樣類型對(duì)象的數(shù)據(jù):一組包含假設(shè)干個(gè)一樣類型對(duì)象的數(shù)據(jù)集,例如集,例如Connection對(duì)象包含有對(duì)象包含有Error集合,集合,Command對(duì)對(duì)象包含有象包含有Parameter集合等等。集合等等。事件事件Eve
9、nt:用于描畫數(shù)據(jù)庫(kù)的異步操作。:用于描畫數(shù)據(jù)庫(kù)的異步操作。23.3.2 23.3.2 運(yùn)用運(yùn)用ADOADO本卷須知本卷須知在在VC中運(yùn)用中運(yùn)用ADO技術(shù)需求留意以下兩點(diǎn):技術(shù)需求留意以下兩點(diǎn):1引入引入ADO的頭文件:的頭文件:2ADO技術(shù)基于技術(shù)基于COM技術(shù)構(gòu)建而成,因此在運(yùn)用技術(shù)構(gòu)建而成,因此在運(yùn)用ADO之前需求初始化之前需求初始化COM庫(kù):庫(kù):23.3.3 23.3.3 銜接數(shù)據(jù)庫(kù)銜接數(shù)據(jù)庫(kù)銜接數(shù)據(jù)庫(kù)需求運(yùn)用銜接數(shù)據(jù)庫(kù)需求運(yùn)用ADO中的中的Connection對(duì)象,在對(duì)象,在VC中可以運(yùn)用中可以運(yùn)用_ ConnectionPtr接口創(chuàng)建接口創(chuàng)建Connection對(duì)象對(duì)象:_Conn
10、ectionPtr conn;conn.CreateInstance(_uuidof(Connection);運(yùn)用運(yùn)用Connection對(duì)象即可以銜接運(yùn)用對(duì)象即可以銜接運(yùn)用DSN方式數(shù)據(jù)源方式數(shù)據(jù)源,也可以直接連數(shù)據(jù)庫(kù)。,也可以直接連數(shù)據(jù)庫(kù)。23.3.4 23.3.4 記錄集記錄集- -填充和讀取數(shù)據(jù)填充和讀取數(shù)據(jù)可以運(yùn)用可以運(yùn)用_RecordsetPtr接口來創(chuàng)建接口來創(chuàng)建ADO記錄集對(duì)象記錄集對(duì)象。_RecordsetPtr pRecordset;pRecordset.CreateInstance(_uuidof(Recordset);23.3.5 23.3.5 記錄集記錄集- -添加數(shù)
11、據(jù)添加數(shù)據(jù)運(yùn)用記錄集對(duì)象可以實(shí)現(xiàn)對(duì)數(shù)據(jù)常見的添加、刪除、運(yùn)用記錄集對(duì)象可以實(shí)現(xiàn)對(duì)數(shù)據(jù)常見的添加、刪除、編輯操作,本節(jié)引見添加數(shù)據(jù)的方法。編輯操作,本節(jié)引見添加數(shù)據(jù)的方法。23.3.6 23.3.6 記錄集記錄集- -刪除數(shù)據(jù)刪除數(shù)據(jù)刪除數(shù)據(jù)需求運(yùn)用到刪除數(shù)據(jù)需求運(yùn)用到Delete函數(shù)。函數(shù)。23.3.7 23.3.7 記錄集記錄集- -編輯數(shù)據(jù)編輯數(shù)據(jù)編輯數(shù)據(jù)需求運(yùn)用到編輯數(shù)據(jù)需求運(yùn)用到Update函數(shù)。函數(shù)。23.3.8 23.3.8 數(shù)據(jù)庫(kù)操作命令數(shù)據(jù)庫(kù)操作命令在在ADO中,執(zhí)行命令有兩種方式,一種是運(yùn)用中,執(zhí)行命令有兩種方式,一種是運(yùn)用Connection對(duì)象的對(duì)象的Execute函數(shù)執(zhí)行命令,另外一種是運(yùn)函數(shù)執(zhí)行命令,另外一種是運(yùn)用用Command對(duì)象。對(duì)象。1運(yùn)用運(yùn)用Connection對(duì)象的對(duì)象的Execute函數(shù)函數(shù)2運(yùn)用運(yùn)用Command對(duì)象對(duì)象23.4 23.4 小結(jié)小結(jié)本章經(jīng)過兩種數(shù)據(jù)庫(kù)運(yùn)用方法:本章經(jīng)過兩種數(shù)據(jù)庫(kù)運(yùn)用方法:ODBC和和ADO,詳細(xì),詳細(xì)引見了在引見了在VC下,如何開發(fā)數(shù)據(jù)庫(kù)運(yùn)用程序。這兩種方法都下,如何開發(fā)數(shù)據(jù)庫(kù)運(yùn)用程序。這兩種方法都提
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)計(jì)失業(yè)管理制度
- 會(huì)議守則管理制度
- 贛南衛(wèi)生健康職業(yè)學(xué)院《兒童文學(xué)閱讀與批評(píng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 會(huì)費(fèi)使用管理制度
- 傳承企業(yè)管理制度
- 估計(jì)專利管理制度
- 湖南高速鐵路職業(yè)技術(shù)學(xué)院《游戲原畫設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海南湖職業(yè)技術(shù)學(xué)院《基因分子生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 余干劇團(tuán)管理制度
- 榆林能源科技職業(yè)學(xué)院《物流設(shè)施規(guī)劃與設(shè)計(jì)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 家電清洗技術(shù)手冊(cè)
- 《排列組合的綜合運(yùn)用》練習(xí)試題(含答案)
- 2022-2023學(xué)年河南省鄭州市高一下學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 霍尼韋爾空氣凈化器說明書kj550
- 在線網(wǎng)課知慧《流行病學(xué)與循證醫(yī)學(xué)(山盟-山東第一醫(yī)科大學(xué))》單元測(cè)試考核答案
- 企業(yè)使用危險(xiǎn)化學(xué)品分裝作業(yè)安全管理指引
- 酥餅行業(yè)分析
- 《樹莓派應(yīng)用開發(fā)》課件 第03、4章-樹莓派操作基礎(chǔ)、樹莓派常用命令
- 消化系統(tǒng)疾病的病史采集與評(píng)估
- 安徽省小餐飲信息公示卡注銷申請(qǐng)表【模板】
- NB-T 47013.7-2012(JB-T 4730.7) 4730.7 承壓設(shè)備無損檢測(cè) 第7部分:目視檢測(cè)
評(píng)論
0/150
提交評(píng)論