從零開始c教學第14章數(shù)據(jù)庫基礎(chǔ)_第1頁
從零開始c教學第14章數(shù)據(jù)庫基礎(chǔ)_第2頁
從零開始c教學第14章數(shù)據(jù)庫基礎(chǔ)_第3頁
從零開始c教學第14章數(shù)據(jù)庫基礎(chǔ)_第4頁
從零開始c教學第14章數(shù)據(jù)庫基礎(chǔ)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第14章C++數(shù)據(jù)庫基礎(chǔ)在前面的實例程序中,用戶都是將數(shù)據(jù)都是通過文件進行存儲的。雖然,這種存儲方法比較簡單,但是其安全性是非常差的。通常情況下,用戶為了使用保存的數(shù)據(jù)具有較高的安全性以及操作方便等,需要使用到數(shù)據(jù)庫。在數(shù)據(jù)庫中,用戶可以設(shè)置讀取權(quán)限以及密碼等。因此,在本章中,將向用戶介紹關(guān)于C++數(shù)據(jù)庫操作方面的知識。14.1數(shù)據(jù)庫基礎(chǔ)知識用戶在VC++編譯器中,進行數(shù)據(jù)庫的開發(fā),可以通過兩種方法進行實現(xiàn)。一種是通過ODBC(開放式數(shù)據(jù)庫接口)進行實現(xiàn),而另一種則是通過ADO(用于操作數(shù)據(jù)庫的組件)進行實現(xiàn)。雖然這兩種方法都是實現(xiàn)數(shù)據(jù)庫的操作,但是就效率而言,兩者之間有一定的區(qū)別。因此,在本節(jié)中,將向用戶介紹這兩種數(shù)據(jù)庫編程實現(xiàn)方法的相關(guān)知識。14.1.1使用ODBC開發(fā)數(shù)據(jù)庫用戶在編程時,若使用ODBC開發(fā)數(shù)據(jù)庫,則需要使用配置其數(shù)據(jù)源。并且ODBC是一種開放式的數(shù)據(jù)庫接口,所以其操作速度比較慢。但是,用戶使用ODBC開發(fā)數(shù)據(jù)庫是非常安全的一種操作方法。用戶使用ODBC進行實際編程前,需要配置ODBC的數(shù)據(jù)庫環(huán)境變量,也就是將用戶所創(chuàng)建的數(shù)據(jù)庫文件所在的路徑告訴給操作系統(tǒng)中的數(shù)據(jù)庫管理系統(tǒng)。然后,在實例工程創(chuàng)建時,用戶需要指定該工程中包含數(shù)據(jù)庫的支持。這樣,用戶所創(chuàng)建的實例程序就可以使用與ODBC相關(guān)的應(yīng)用程序接口函數(shù)或者是相應(yīng)的MFC類了。提示:關(guān)于ODBC數(shù)據(jù)庫開發(fā)的相關(guān)步驟與MFC類將在后面的小節(jié)中,向用戶進行詳細地講解。并且將通過實例程序編寫,向用戶介紹各個MFC類中的成員函數(shù)的使用方法等。14.1.2使用ADO開發(fā)數(shù)據(jù)庫用戶在VC++編譯器中,除了可以使用ODBC開發(fā)數(shù)據(jù)庫以外,還可以使用ADO進行數(shù)據(jù)庫的開發(fā)操作,即使用數(shù)據(jù)庫控件實現(xiàn)數(shù)據(jù)庫的操作。ADO是“ActiveXDataObjects”的英文縮寫,表示存取數(shù)據(jù)源的COM組件。用戶通過使用ADO可以很方便地訪問和操作數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)。用戶在VC++編譯器中,使用ADO之前需要將ADO控件添加到實例工程中。同時還需要使用關(guān)鍵字“import”將ADO動態(tài)鏈接庫包含到實例工程中。這樣,用戶就可以使用ADO類中的函數(shù),進行組件對象的初始化和數(shù)據(jù)庫操作了。提示:關(guān)于ADO開發(fā)數(shù)據(jù)庫的相關(guān)方法將在后面的小節(jié)中,向用戶進行詳細的講解。ADO的優(yōu)點在于易于使用、數(shù)據(jù)庫操作速度快,內(nèi)存使用較少。因此,ADO可以使用最少的網(wǎng)絡(luò)流量,并且能夠在客戶端和數(shù)據(jù)源之間使用最少的層數(shù),實現(xiàn)高性能的數(shù)據(jù)庫接口。14.1.3小結(jié)在本節(jié)中,主要向用戶分別介紹了如何使用ODBC和ADO對數(shù)據(jù)庫進行相關(guān)操作的方法以及在VC++編譯器中,需要進行數(shù)據(jù)庫開發(fā)之前的準備工作等。通過本節(jié)的學習,用戶應(yīng)當能夠深入理解ODBC和ADO相關(guān)的基礎(chǔ)知識,并且向用戶講解了在VC++編譯器中,使用這兩種方法開發(fā)數(shù)據(jù)庫之前的準備工作等。本節(jié)中所介紹的相關(guān)知識,將在后面的小節(jié)中向用戶進行詳細地講解。14.2使用ODBC開發(fā)數(shù)據(jù)庫為了使用戶操作的數(shù)據(jù)庫數(shù)據(jù)具有非常高的安全性,可以在實際編程時,使用ODBC進行數(shù)據(jù)庫的開發(fā)操作。但是,用戶在進行數(shù)據(jù)庫開發(fā)之前,需要首先創(chuàng)建數(shù)據(jù)庫并進行一些ODBC的配置等操作。因此,在本節(jié)中,將向用戶介紹在VC++編譯器中,如何使用ODBC進行數(shù)據(jù)庫的開發(fā)操作。14.2.1創(chuàng)建數(shù)據(jù)庫用戶使用ODBC開發(fā)數(shù)據(jù)庫之前,需要首先創(chuàng)建一個數(shù)據(jù)庫。為了使用戶能夠非常方便地進行數(shù)據(jù)庫操作,所以在本章中將創(chuàng)建基于微軟ACCESS的數(shù)據(jù)庫。用戶在計算機中,創(chuàng)建ACCESS數(shù)據(jù)庫可以使用微軟提供的ACCESS應(yīng)用程序快速地創(chuàng)建一個數(shù)據(jù)庫。14.2.2配置ODBC數(shù)據(jù)源用戶在計算機中,創(chuàng)建ACCESS數(shù)據(jù)庫成功后,還需要對ODBC數(shù)據(jù)源進行相關(guān)的配置,才能夠正確地使用C++語言對其進行訪問。14.2.3與ODBC相關(guān)的C++類在前面的小節(jié)中,已經(jīng)向用戶介紹了ACCESS數(shù)據(jù)庫的創(chuàng)建、數(shù)據(jù)庫密碼的設(shè)置以及ODBC數(shù)據(jù)源配置的相關(guān)知識。那么,在本小節(jié)中,將向用戶介紹與ODBC相關(guān)的C++類以及如何使用這些類進行數(shù)據(jù)庫的操作等。在MFC中,微軟已經(jīng)為用戶提供了兩個C++類用于ODBC數(shù)據(jù)庫的相關(guān)操作。這兩個類分別為“CDataBase”和“CRecordSet”。其中,前者主要是被用于連接數(shù)據(jù)庫,而后者主要被用于通過SQL語句查詢相關(guān)的記錄等。14.2.4小結(jié)在本節(jié)中,主要向用戶介紹了如何使用ODBC對數(shù)據(jù)庫進行操作的相關(guān)方法。其中,還向用戶詳細講解了在ACCESS應(yīng)用程序中,創(chuàng)建數(shù)據(jù)庫以及對ODBC進行相關(guān)配置的具體操作方法等。通過本小節(jié)的學習,用戶應(yīng)當熟練地對數(shù)據(jù)庫進行創(chuàng)建,并進行相應(yīng)的配置操作。若用戶創(chuàng)建數(shù)據(jù)庫成功,并進行正確的配置以后,便可以使用與ODBC數(shù)據(jù)庫操作相關(guān)的C++類進行數(shù)據(jù)庫的連接、獲取記錄集等操作。14.3使用ADO開發(fā)數(shù)據(jù)庫在實際開發(fā)中,用戶除了可以使用ODBC對數(shù)據(jù)庫進行操作以外,還可以使用ADO進行數(shù)據(jù)庫的開發(fā)操作。通常情況下,用戶使用ADO進行數(shù)據(jù)庫開發(fā)時,操作是非常方便的。因此,在本節(jié)中,將向用戶介紹如何在VC++編譯器中,使用ADO對數(shù)據(jù)庫進行相關(guān)開發(fā)操作的方法。14.3.1添加ADO控件在VC++編譯器中,若用戶需要使用ADO進行數(shù)據(jù)庫開發(fā),則需要在實例工程中,添加相應(yīng)的ADO數(shù)據(jù)庫控件。用戶使用ADO數(shù)據(jù)庫控件對數(shù)據(jù)庫進行操作之前,應(yīng)當在實例工程中,添加相應(yīng)的數(shù)據(jù)庫控件才能夠?qū)?shù)據(jù)庫進行相應(yīng)的操作。那么,在VC++編譯器中,添加ADO數(shù)據(jù)庫控件的具體步驟如下所示:14.3.2導(dǎo)入ADO的動態(tài)鏈接庫用戶在VC++編譯器中,為實例工程添加ADO數(shù)據(jù)庫控件成功后,還需要將與ADO數(shù)據(jù)庫控件相關(guān)的動態(tài)鏈接庫“msado15.dll”導(dǎo)入到實例工程中。這樣,用戶才能夠正確地使用ADO操作ACCESS數(shù)據(jù)庫。通常情況下,動態(tài)鏈接庫“msado15.dll”在系統(tǒng)中的完整路徑為“c:\programfiles\commonfiles\system\ado\msado15.dll”。而在VC++開發(fā)環(huán)境下,導(dǎo)入動態(tài)鏈接庫的命令為“#import”。14.3.3初始化ADO控件環(huán)境通過相關(guān)的設(shè)置以后,與其相關(guān)的準備工作已經(jīng)完成了。現(xiàn)在,用戶可以使用應(yīng)用程序接口函數(shù)(API)或者是MFC函數(shù)對使用ADO控件的環(huán)境進行相應(yīng)的初始化操作了。通常情況下,用戶可以使用MFC函數(shù)“AfxOleInit()”對ADO庫及其所使用的環(huán)境進行初始化。14.3.4連接數(shù)據(jù)庫用戶對ADO庫及其所使用環(huán)境進行初始化以后,就可以對ACCESS數(shù)據(jù)庫進行連接操作了。在VC++開發(fā)環(huán)境下,實現(xiàn)數(shù)據(jù)庫連接操作的ADO對象是“_ConnectionPtr”。該對象的作用是對用戶指定的數(shù)據(jù)庫進行連接操作。14.3.5操作數(shù)據(jù)庫當用戶將數(shù)據(jù)庫連接成功后,就可以對其進行相應(yīng)的操作了。在實際編程中,用戶可以對數(shù)據(jù)庫進行讀取、寫入以及關(guān)閉等操作。1.讀取數(shù)據(jù)庫數(shù)據(jù)庫連接成功后,用戶可以使用記錄集接口“_RecordsetPtr”對數(shù)據(jù)庫進行讀取。2.寫入數(shù)據(jù)庫用戶也可以對數(shù)據(jù)庫進行寫入操作。在VC++中,對數(shù)據(jù)庫進行寫入操作也是通過記錄集接口“_RecordsetPtr”及其成員函數(shù)實現(xiàn)的。3.關(guān)閉數(shù)據(jù)庫用戶在VC++中,實現(xiàn)關(guān)閉數(shù)據(jù)庫的操作非常簡單,即使用數(shù)據(jù)庫連接接口“_ConnectionPtr”的成員函數(shù)“Close”即可。14.3.6ADO數(shù)據(jù)庫開發(fā)實例通過前面幾個小節(jié)的學習,用戶應(yīng)當對數(shù)據(jù)庫操作相關(guān)的接口“_ConnectionPtr”以及“_RecordsetPtr”的使用方法和成員函數(shù)有了深入的理解。在VC++開發(fā)平臺下,用戶可以通過編寫程序?qū)崿F(xiàn)數(shù)據(jù)庫的操作,也可以通過對ADO數(shù)據(jù)庫控件的相關(guān)設(shè)置實現(xiàn)數(shù)據(jù)庫的操作?!敬a14.1】用戶在實例程序中,使用數(shù)據(jù)庫連接接口“_ConnectionPtr”以及記錄集接口“_RecordsetPtr”實現(xiàn)數(shù)據(jù)庫的操作。【本實例工程位置:源文件\14\實例14.1\編寫程序?qū)崿F(xiàn)數(shù)據(jù)庫操作】14.4小結(jié)在本章中,分別向用戶介紹了數(shù)據(jù)庫編程方面的基礎(chǔ)知識和通過C++語言對ACCESS數(shù)據(jù)庫進行操作的具體功能實現(xiàn)方法等。并且通過具體的操作步驟以及實例代碼編寫向用戶講解了如何使用VC++

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論