




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第18章 數(shù)據(jù)庫編程,數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)數(shù)據(jù)處理與信息管理系統(tǒng)的核心,掌握C語言數(shù)據(jù)庫編程技術(shù)是高級程序員應(yīng)該具備的能力。本章先介紹如何使用數(shù)據(jù)庫管理系統(tǒng)(DBMS)Access、SQL Server進(jìn)行數(shù)據(jù)管理,然后講解ODBC和ADO兩個(gè)數(shù)據(jù)庫接口相關(guān)內(nèi)容,討論使用數(shù)據(jù)庫系統(tǒng)開發(fā)工具進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)與開發(fā)的方法,并通過具體實(shí)例講解用C語言進(jìn)行數(shù)據(jù)庫編程的常見方法和注意問題。,18.1 數(shù)據(jù)庫基礎(chǔ)知識,數(shù)據(jù)庫(DB)是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)有結(jié)構(gòu)的、大量的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫技術(shù)作為計(jì)算機(jī)應(yīng)用領(lǐng)域的重要組成部分,計(jì)算機(jī)軟件技術(shù)的一個(gè)重要分支,已經(jīng)滲透到社會(huì)生活的方方面面。數(shù)據(jù)庫技術(shù)是
2、一門綜合學(xué)科,涉及操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)、程序設(shè)計(jì)和數(shù)據(jù)管理等多方面知識。,18.1.1 數(shù)據(jù)庫簡介,1數(shù)據(jù) 2數(shù)據(jù)管理 3數(shù)據(jù)庫系統(tǒng),18.1.2 數(shù)據(jù)庫訪問技術(shù),數(shù)據(jù)庫訪問技術(shù)通過提供訪問接口,簡化了客戶端訪問數(shù)據(jù)庫的過程。目前Windows系統(tǒng)上常見的數(shù)據(jù)庫接口包括: ODBC(開放式數(shù)據(jù)庫互連)。 MFC(Microsoft基礎(chǔ)類)ODBC類。 DAO(數(shù)據(jù)訪問對象)。 RDO(遠(yuǎn)程數(shù)據(jù)對象)。 OLE DB(對象鏈接嵌入數(shù)據(jù)庫)。 ADO(ActiveX數(shù)據(jù)對象)。,18.2 創(chuàng)建Access數(shù)據(jù)庫,Microsoft Access是一個(gè)中小型關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它幫助用戶方便
3、地得到所需信息,并提供強(qiáng)大的數(shù)據(jù)處理工具,使創(chuàng)建和管理Access數(shù)據(jù)庫變得更加簡單。本節(jié)將主要介紹如何創(chuàng)建Access數(shù)據(jù)庫文件和對數(shù)據(jù)表進(jìn)行管理。,18.2.1 菜單欄和工具欄,雙擊Windows桌面上的Access的快捷圖標(biāo),啟動(dòng)Access運(yùn)行。或單擊“開始”|“所有程序”|Microsoft Office|Microsoft Office Access 2003命令也可啟動(dòng)Access運(yùn)行。Access主窗口與一般的Windows窗口非常相似,也是由標(biāo)題欄、各種按鈕、菜單、工具欄及狀態(tài)欄等組成。,18.2.2 新建數(shù)據(jù)庫,1使用數(shù)據(jù)庫向?qū)?chuàng)建數(shù)據(jù)庫 2直接創(chuàng)建空數(shù)據(jù)庫,18.2.3
4、新建數(shù)據(jù)表,1使用向?qū)?chuàng)建表 2使用設(shè)計(jì)器創(chuàng)建表,18.2.4 保存數(shù)據(jù)表,用表設(shè)計(jì)器設(shè)計(jì)好新表之后,關(guān)閉表設(shè)計(jì)視圖時(shí)需要保存新表。當(dāng)關(guān)閉表設(shè)計(jì)視圖窗口,會(huì)彈出對話框,詢問:【是否保存對表1設(shè)計(jì)的修改】。選擇【是】按鈕,則彈出【另存為】對話框。在對話框的【表名稱】框中輸入“student”作為新表的名稱,并單擊【確定】按鈕,則回到數(shù)據(jù)庫窗口。這時(shí)在數(shù)據(jù)庫窗口中將會(huì)出現(xiàn)剛創(chuàng)建的student表。通過【表沒計(jì)】工具條上的【保存】按鈕或【文件】菜單的【保存】命令,可隨時(shí)保存對新表的修改。,18.3 創(chuàng)建SQL Server數(shù)據(jù)庫,SQL Server 2005安裝完成之后,就可以通過使用其管理工具、
5、實(shí)用程序管理來使用SQL Server數(shù)據(jù)庫系統(tǒng)。SQL Server管理控制臺(SQL Server Management Studio)是一個(gè)集成的環(huán)境,是SQL Server 2005中最重要的管理工具組件??捎糜谠L問、配置和管理所有SQL Server組件。,18.3.1 用SQL Server管理控制臺創(chuàng)建數(shù)據(jù)庫和表,下面通過介紹建立數(shù)據(jù)庫和數(shù)據(jù)表的過程讓讀者掌握該工具的使用方法。 (1)單擊【開始】|【程序】|【Microsoft SQL Server 2005】|【SQL Server Management Studio】命令,啟動(dòng)SQL Server Management St
6、udio,顯示連接服務(wù)器對話框。 (2)在【連接到服務(wù)器】對話框中,驗(yàn)證默認(rèn)設(shè)置,單擊【連接】按鈕,進(jìn)入Microsoft SQL Server Management Studio環(huán)境。 (3)右鍵單擊【數(shù)據(jù)庫】節(jié)點(diǎn),彈出快捷菜單。,18.3.1 用SQL Server管理控制臺創(chuàng)建數(shù)據(jù)庫和表,(4)選擇【新建數(shù)據(jù)庫】選項(xiàng)后,彈出【新建數(shù)據(jù)庫】對話框,如圖18-11所示。在【數(shù)據(jù)庫名稱】欄中輸入數(shù)據(jù)庫名稱“TEST”,單擊【確定】按鈕,完成數(shù)據(jù)庫TEST的創(chuàng)建。 (5)展開數(shù)據(jù)庫“TEST”節(jié)點(diǎn),在“表”節(jié)點(diǎn)上單擊右鍵,彈出快捷菜單。 (6)選擇【新建表】命令后,進(jìn)入【新建表】窗口。在其中輸入
7、表的各個(gè)字段。(7)完成輸入,關(guān)閉新建表對話框后,顯示是否保存新建表的對話框界面。單擊【是】按鈕,彈出【選擇名稱】對話框。,18.3.2 ODBC數(shù)據(jù)源配置,下面以操作系統(tǒng)為Windows XP,數(shù)據(jù)庫為SQL Server介紹靜態(tài)方法建立數(shù)據(jù)源過程,具體步驟如下。 (1)單擊【開始】|【設(shè)置】|【控制面板】命令,進(jìn)入控制面板。雙擊【管理工具】應(yīng)用程序,彈出【ODBC 數(shù)據(jù)源管理器】對話框。 (2)單擊【添加】按鈕,彈出【創(chuàng)建新數(shù)據(jù)源】對話框。在【名稱】列表框中選擇SQL Server選項(xiàng),如圖18-17所示。如果需要?jiǎng)?chuàng)建Access數(shù)據(jù)源,則選擇Microsoft Access Driver
8、(*.mdb)選項(xiàng)。,18.3.2 ODBC數(shù)據(jù)源配置,(3)單擊【完成】按鈕,彈出【創(chuàng)建到SQL Server的新數(shù)據(jù)源】對話框。在【名稱】文本框中輸入要?jiǎng)?chuàng)建數(shù)據(jù)源的名稱“student”;在【服務(wù)器】下拉列表框中選擇連接的服務(wù)器,也可以輸入“.”表示本地服務(wù)器。 (4)單擊【下一步】按鈕,進(jìn)入對話框,這里使用默認(rèn)的選項(xiàng)。 (5)單擊【下一步】按鈕,進(jìn)入對話框。在這里選中更改默認(rèn)的數(shù)據(jù)庫選項(xiàng),選擇相應(yīng)的數(shù)據(jù)庫“test”。不做更改,單擊【完成】按鈕,這樣就完成了數(shù)據(jù)源的創(chuàng)建。,18.3.2 ODBC數(shù)據(jù)源配置,(6)單擊【下一步】按鈕,進(jìn)入【ODBC Microsoft SQL Server
9、安裝】對話框。在其中設(shè)置一些附加屬性。該對話框中顯示了剛建好的數(shù)據(jù)源的信息。可以單擊【測試數(shù)據(jù)源】按鈕進(jìn)行測試。,18.4 使用ODBC API數(shù)據(jù)庫編程,ODBC的出現(xiàn)為編寫關(guān)系數(shù)據(jù)庫的客戶軟件提供了統(tǒng)一的接口。ODBC只提供單一的API(),可用于處理不同數(shù)據(jù)庫的客戶應(yīng)用程序。下面先介紹ODBC API編程模型描述,再詳細(xì)介紹編程的具體步驟。,18.4.1 ODBC API編程模型,ODBC是基于SQL的程序設(shè)計(jì)接口,因此可以通過它編寫對數(shù)據(jù)庫進(jìn)行增、刪、改、查和維護(hù)等操作的應(yīng)用程序。一般編寫ODBC程序主要有以下操作:為ODBC分配環(huán)境句柄、分配連接句柄、用SQL命令分配語句句柄、執(zhí)行命
10、令返回結(jié)果集、斷開同數(shù)據(jù)源的連接及釋放ODBC環(huán)境。,18.4.2 ODBC API編程實(shí)現(xiàn)步驟,1連接數(shù)據(jù)源 2分配語句句柄 3SQL語句的執(zhí)行 4獲取結(jié)果集 5中止處理,18.5 使用ADO數(shù)據(jù)庫編程,ADO(ActiveX Data Object)是Microsoft數(shù)據(jù)庫應(yīng)用程序開發(fā)的新接口,是建立在OLE DB之上的高層數(shù)據(jù)庫訪問技術(shù)。本節(jié)將討論如何使用ADO進(jìn)行數(shù)據(jù)庫的開發(fā),介紹ADO庫定義文件,討論用Connection對象連接數(shù)據(jù)庫、通過Connection、Command對象執(zhí)行SQL命令及利用Recordset對象取得結(jié)果記錄集進(jìn)行查詢、處理,下面分別介紹。,18.5.1
11、導(dǎo)入ADO的動(dòng)態(tài)鏈接庫,用#import指令引入ADO類型庫,在使用的文件中加入如下語句#import c:program filescommon filessystemadomsado15.dll no_namespace rename(EOF,adoEOF),18.5.2 初始化ADO控件環(huán)境,ADO庫是一組COM動(dòng)態(tài)庫,這意味應(yīng)用程序在調(diào)用ADO前,必須初始化OLE/COM庫環(huán)境。 每次應(yīng)用程序啟動(dòng)時(shí),需要通過函數(shù)AfxOleInit()或CoInitialize()實(shí)現(xiàn)初始化OLE/COM庫環(huán)境。本書中相關(guān)實(shí)例是使用CoInitialize()來完成初始化。,18.5.3 ADO庫接口
12、,1_ConnectionPtr接口 2_CommandPtr接口 3_RecordsetPtr接口,18.6 數(shù)據(jù)庫開發(fā)實(shí)例,前面分別介紹使用ODBC API和ADO進(jìn)行數(shù)據(jù)庫編程的基礎(chǔ)知識和設(shè)計(jì)方法。下面結(jié)合具體實(shí)例進(jìn)一步討論這兩種編程方式的特點(diǎn)。,18.7 小結(jié),本章介紹了數(shù)據(jù)庫管理系統(tǒng)Access和SQL Server數(shù)據(jù)庫、數(shù)據(jù)表的創(chuàng)建及管理,重點(diǎn)講解了ODBC和ADO兩個(gè)數(shù)據(jù)庫接口相關(guān)內(nèi)容,通過具體實(shí)例講解C語言用ODBC API和ADO進(jìn)行Access和SQL Server數(shù)據(jù)庫編程的常見方法和注意問題。本章的難點(diǎn)是對數(shù)據(jù)庫數(shù)據(jù)的連接、數(shù)據(jù)存取及更新操作。,18.7 習(xí)題,1、建立一個(gè)Access數(shù)據(jù)庫,創(chuàng)建student數(shù)據(jù)表(sno,sage),并通過ODBC數(shù)據(jù)源管理器靜態(tài)注冊數(shù)據(jù)源,名稱為“stumdb”,用ODBC API連接實(shí)現(xiàn)student表中學(xué)生學(xué)號的讀取并輸出。 2、改寫上題,用SQLConfigDataSource()函數(shù)實(shí)現(xiàn)動(dòng)態(tài)注冊A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 提高冷鏈教育質(zhì)量促進(jìn)醫(yī)療產(chǎn)業(yè)發(fā)展
- 智慧城市服務(wù)中智能停車系統(tǒng)的商業(yè)模式
- 媒體融合下的教育品牌傳播新模式
- 心理健康干預(yù)在校園教育中的實(shí)踐與探索
- 抖音商戶直播庫存同步更新管理制度
- 抖音商戶預(yù)算外支出特別審批流程制度
- 八大行業(yè)物流成本控制與交通運(yùn)輸優(yōu)化方案研究報(bào)告
- 公交優(yōu)先視角下城市交通擁堵治理的公共交通出行行為引導(dǎo)研究報(bào)告
- 2024-2025學(xué)年廣西陸川縣聯(lián)考數(shù)學(xué)七上期末調(diào)研模擬試題含解析
- 公共交通優(yōu)化:2025年智慧交通系統(tǒng)交通流量預(yù)測技術(shù)應(yīng)用分析報(bào)告
- 中國保險(xiǎn)行業(yè)協(xié)會(huì)官方-2023年度商業(yè)健康保險(xiǎn)經(jīng)營數(shù)據(jù)分析報(bào)告-2024年3月
- 衛(wèi)生管理(副高)考試題庫
- 電梯維保服務(wù)售后服務(wù)方案
- 一例異常子宮出血的個(gè)案護(hù)理2
- 行政人事年中工作總結(jié)
- 中醫(yī)醫(yī)療商業(yè)計(jì)劃書
- 泥水平衡頂管機(jī)與泥水平衡頂管
- 化工循環(huán)水場電氣受送電方案更新
- 客房衛(wèi)生制度范本
- 應(yīng)用回歸分析論文
- GB/T 30649-2014聲屏障用橡膠件
評論
0/150
提交評論