數(shù)據(jù)庫編程接口及其VC應(yīng)用程序設(shè)計_第1頁
數(shù)據(jù)庫編程接口及其VC應(yīng)用程序設(shè)計_第2頁
數(shù)據(jù)庫編程接口及其VC應(yīng)用程序設(shè)計_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫編程接口及其VC+ 應(yīng)用程序設(shè)計摘要:目前有諸如 ODBC 、 DAO 等數(shù)據(jù)庫編程接口,他們能提供簡便好用、快速可擴展的開發(fā)技術(shù),本文將淺析 ODBC 數(shù)據(jù)庫編程接口的結(jié)構(gòu)體系及其工作原理,并介紹如何運用它的類在VC+ 開發(fā)環(huán)境中設(shè)計應(yīng)用程序。關(guān)鍵詞:數(shù)據(jù)庫接口中圖分類號: TP311.11ODBC VC+ 應(yīng)用程序文獻標識碼: A 文章編號:1007-9416( 2014) 04-0182-011 前言社會正趨于現(xiàn)代化、信息化,諸如C、JAVA 等計算機編程語言繁多,在程序開發(fā)中可能會運用到多種語言,而運用多語言開發(fā)軟件,會面臨程序連接和數(shù)據(jù)交換等難題。雖然開發(fā)與數(shù)據(jù)庫相關(guān)的程序,能

2、利用編程語言把數(shù)據(jù)庫文件轉(zhuǎn)錄成文本文件,繼而與編程語言進行數(shù)據(jù)交換以實現(xiàn)程序與數(shù)據(jù)庫間的數(shù)據(jù)交換,但它會給軟件開發(fā)者帶來不便。對此,諸如 ODBC 、DAO 等數(shù)據(jù)庫編程接口孕育而生,它能為數(shù)據(jù)資源提供接口以準許用戶的程序?qū)崿F(xiàn)多數(shù)據(jù)庫連接,ODBC 能實現(xiàn)最基本的ASCII 文本到繁雜的主框架數(shù)據(jù)庫等進行數(shù)據(jù)連接, 利用 SQL 查詢語句, 訪問其所能支持的所有數(shù)據(jù)資源,輕松實現(xiàn)數(shù)據(jù)庫與應(yīng)用程序間的數(shù)據(jù)交換。VC+ 作為適用的開發(fā)工具,能提供齊全的類庫和友好的交互界面,能滿足不同編程人員所需,能使用ODBC API或利用MFC中的ODBC類實現(xiàn)數(shù)據(jù)庫編程。但在用ODBCAPI進行編程,過程中產(chǎn)

3、生大量的代碼,若使用VC+類中封裝好的 ODBC API ,能更簡便地進行應(yīng)用編程。本文將淺析 ODBC 數(shù)據(jù)庫接口及其 VC+6.0 應(yīng)用程序的設(shè)計。2 ODBCODBC (開放數(shù)據(jù)庫互連)是微軟公司提出的數(shù)據(jù)庫訪問應(yīng)用程序接口標準,其定義了訪問數(shù)據(jù)庫API 的規(guī)范,因此關(guān)系數(shù)據(jù)庫均提供了ODBC 驅(qū)動程序。 ODBC 是基于動態(tài)鏈接庫( DLL )的獨特結(jié)構(gòu),它能讓程序模塊化。運用ODBC32.DLL 定義程序接口,在運行程序時 ODBC32.DLL 在由 WINDOWS 控制面板中 ODBC 管理模塊維護的ODBC32.INI 注冊表基礎(chǔ)上,明確并跟蹤相關(guān)可用的數(shù)據(jù)庫DLL ,這也就使得

4、單個應(yīng)用程序?qū)崿F(xiàn)多DBMS 的數(shù)據(jù)訪問?;?C/S 結(jié)構(gòu) ODBC 結(jié)構(gòu)是由應(yīng)用程序(Application )、驅(qū)動程序管理器(Driver Manager )、驅(qū)動程序( Driver )以及數(shù)據(jù)源( Data Source)組成。2.1 應(yīng)用程序應(yīng)用程序能實現(xiàn)用戶和接口間進行交互,并調(diào)用ODBC函數(shù)給出 SQL 請求以提取結(jié)果作出錯誤處理,它藉ODBC界面執(zhí)行以下工作:請求與數(shù)據(jù)源進行連接或交互;將SQL 請求發(fā)送到數(shù)據(jù)源; 定義存儲區(qū)域和數(shù)據(jù)格式為SQL請求的結(jié)果; 請求并處理錯誤;必要時, 進行結(jié)果報告;為交互控制提交請求或回滾操作;結(jié)束與數(shù)據(jù)源的連接。2.2 驅(qū)動程序管理器驅(qū)動程

5、序管理器能通過調(diào)用函數(shù)并使用DLL ,實現(xiàn)應(yīng)用程序所需驅(qū)動的加載和調(diào)用,使其連接到數(shù)據(jù)源,它能管理多個應(yīng)用和驅(qū)動程序。它處于“驅(qū)動程序其主要工作:使用.DLL ”文件中,它除了裝載ODBC INI文件將數(shù)據(jù)源映射到特定的 Driver DLL ;服務(wù)初始化并調(diào)用 ODBC ;提供 ODBC 函數(shù)入口指針給每個驅(qū)動程序; 為 ODBC 調(diào)用提供參數(shù)和序列驗證。2.3 驅(qū)動程序驅(qū)動程序也處在.DLL 文件中,它執(zhí)行ODBC 的函數(shù)調(diào)用,將SQL請求相應(yīng)的數(shù)據(jù)源結(jié)果傳遞給應(yīng)用程序。其工作如下:建立與數(shù)據(jù)源的連接;提交SQL請求給數(shù)據(jù)源;翻譯請求的數(shù)據(jù)格式;將結(jié)果傳遞給應(yīng)用程序;將錯誤格式轉(zhuǎn)換為錯誤代

6、碼并返給應(yīng)用程序;必要時,申明和操縱游標;若數(shù)據(jù)源需要ODBC 初始化,則初始化 ODBC 。2.4 數(shù)據(jù)源數(shù)據(jù)集及其關(guān)聯(lián)環(huán)境構(gòu)成數(shù)據(jù)源,它包括了操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)( DBMS )以及網(wǎng)絡(luò)。應(yīng)用程序無須制定特定的數(shù)據(jù)庫系統(tǒng),只要利用標準API 就能連接數(shù)據(jù)源。3 MFC 的 ODBC 類MFC ODBC 類具有功能齊全、 簡便易懂等特點, 在實際開發(fā)中應(yīng)用范圍最廣。 在 MFC 1.5 以后的版本中, 相關(guān) ODBC 功能的類都封裝在 MFC ODBC 類中,通過它們與 ODBC 接口,能使用戶避免 ODBC API 的繁瑣處理,直接進行數(shù)據(jù)庫的相關(guān)操作。 MFC ODBC 類包括有 CDa

7、tabase、CRecordset、CRecordView 以及 CFieldExchange 等類。4 VC+ 應(yīng)用程序設(shè)計4.1 程序結(jié)構(gòu)本文將設(shè)計員工工資管理系統(tǒng),運用 VF 6.0 數(shù)據(jù)庫接口以及 VC+ 實現(xiàn)數(shù)據(jù)的增刪改以及計算等功能,計算是將基本工資與獎金的數(shù)據(jù)相加。VF 數(shù)據(jù)庫名 lyl 包括有 staff 表,其中包含有員工號(staff_id );員工名( staff_name);工資( basewage);獎金 (bonus);總計( totals)。4.2 程序源碼限于篇幅,如下是增添員工部分代碼:void CStffcountView : OnAdd () /添加記錄i

8、f (m_pSet->CanAppend () /確定是否添加記錄m_pSet->AddNew ();UpdateData( true);if ( m_pSet->CanUpdata()m_pSet->Update(); /將新記錄錄入數(shù)據(jù)庫if (! m_pSet->IsEOF ()m_pSet->MoveLast ();m_pSet->Requery(); /重建數(shù)據(jù)集UpdateDate( false) 5 結(jié)語通過數(shù)據(jù)庫編程接口能有效地避免應(yīng)用程序與數(shù)據(jù)庫間進行數(shù)據(jù)交換的大量編碼,在滿足程序需求的情況下,能讓用戶得到更好地效率及應(yīng)用。綜上所述,在VC+ 設(shè)計應(yīng)用程序時,運用數(shù)據(jù)庫接口進行編程是可行的,它能使編程變得更為簡便。參考文獻1 廖遠來 .數(shù)據(jù)庫編程接口及其VC+ 應(yīng)用程序設(shè)計 J.電腦與電信, 2007, 05: 63-65+68.2 李健平, 戴子文, 王雪力, 劉芳 .基于 ODBC 的 VisualC+ 應(yīng)用程序設(shè)計 J.甘肅科技縱橫,2011,

溫馨提示

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

評論

0/150

提交評論