◆吳小欣
?
基于VC的數據庫編程設計與實現
◆吳小欣
(91550部隊 遼寧 116023)
VC工具有比較強大的編程性能,在編程過程中起著非常重要的作用,因此廣受編程人員的關注和重視。隨著我國計算機技術以及電子信息技術的蓬勃發展,對于編程人員的專業技術也提出了更高的要求,全面掌握 VC 技術是保證能夠更好地實現數據庫編程工作的基礎。本文對以VC為基礎的數據庫編程設計與實現展開了探討和分析,希望可以為相關程序設計人員提供一定的參考。
VC;數據庫編程;設計研究
目前的社會發展進程中,由于計算機和互聯網技術的應用和發展,在社會的相關行業領域中已經大規模運用了計算機技術,最大程度轉變了人們的生活以及生產方式。在現如今信息化和數字化的時代,極大一部分計算機編程語言譬如 C 語言、JAVA等備受行業人員的關注,編程語言在很多程序的開發中都起著極為關鍵的作用。譬如,數據庫編程的設計,通過 VC 開發工具的支撐,給相關的編程人員帶來非常大的便捷。VC是 Windows平臺上最為優秀的 C 語言編程環境 ,它具有其自身獨有的特征,即使在學習 V C 的過程中還要對Windows平臺的多數性能進行充分的了解,全面掌握 COM 、ALT 等相關的內容,其掌握起來具有比較大的難度,因此良好的編程環境是必不可少的,是進行相應內容掌握的基礎條件。實現數據庫的建立開發時,V C 身為一個非常重要的編程工具,起著非常重要的作用,本文主要研究分析V C條件下的數據庫編程,供程序員參考和借鑒。
從以數據庫管理作為運營中心的角度上來說,例如Access、Oracle、FoxPro 及 dBASEIV等,在創建數據庫管理器等方面相應產品都發揮了自己的優勢特點,實際運用商業數據庫的過程中,可以在Delphi和VisualBasic等環境下建立起管理器,也就是說在 Delphi和 VisualBasic 等環境下,程序設計的實際過程會比較簡單,能夠幫助數據庫進行開發工作,而V C環境從實質上來說并不合適部分數據庫的建立工作。但是,數據庫的基本功能特征具有特殊性,對于數據庫的軟件編寫來說是比較有利的。但在數據庫的功能擴展方面還沒有實現,因此數據庫的功能比較有限。要想開發數據庫自身更復雜的功能應用,就需要相應的編程軟件輔助完成,VC的作用就在于能夠提供良好的編程環境。因為VC的底層支持能力強大,編寫數據庫的實際過程中能夠提供底層訪問和實時訪問。例如編寫數據庫的驅動程序和實用程序時,處于VC環境下的編程應用的實際意義就更加深刻。
(1)ADO設計模式
對于ADO的設計模式要進行一定程度的了解,就要先掌握和理解OLE-DB的含義。我們從這個模式的名稱中就可以發現,OLE可以為數據庫提供接口,和COM的基本特點相同,對于某一對象可以自由的進行建立、查詢和撤銷工作。OLE-DB的對象來源,被稱作是提供者。VC 軟件包的一部分由多個不同的提供者構成,但是,廠商實現產品的處理升級階段時也會予以提供。OLE-DB的優勢特點明顯,也就是一個提供者和所有的Visual Studio產品進行精準匹配。但COM有共用點,OLE-DB 也依賴于基本事件,可以實時的更新改變數據庫信息,方便第一時間查看和改進數據庫相應用戶的資料信息,以傳輸信號形式對于數據庫進行通知,提前告知實施的操作以及可能產生的錯誤信息。ADO方式不是解決數據庫訪問最基礎的方案,針對OLE-DB而言,是數據庫進行通信的前提條件,而ADO從某個角度上說是對于OLE-DB的包裝。因此,實現運用時,一般是避開ADO,直接應用OLE-DB,但合理運用ADO也能夠使程序應用開發的速度加快。
(2)ODBC設計方式
最初,微軟的目標是開放數據庫互連,微軟最早引入的數據庫接口技術就是ODBC,從某個角度來說,ODBC是ADO技術的前身。引入這種技術并投入使用主要是因為利用非語言專用方式,可以提供給程序管理員簡單的方位數據庫。在這樣的前提背景之下,因此編程操作人員進行Access Basic或DBF文件實際訪問時,對于X base 程序語言不用深入了解就能獲取MDB文件中的數據信息。和Windows在工作的狀態上是等同的,為了完成基本的操作任務ODBC選取了包含在DLL下的驅動程序。實際設計的方式提供了兩個方面的驅動程序:一是數據管理器語言。二是程序設計語言公用接口。在這樣的條件下VC就可以利用公用接口調用函數實現數據庫的訪問,其中所運用的函數就是程序產生交叉的點。除此之外,和ODBC產生關聯的實用程序,例如掌控管理ODBC的數據源。
運用具有強大功能的VC,訪問數據庫的分析工作可以利用ADO的設計方式,對在VC基礎條件下的數據庫編程的流程和實現進行解釋說明。
(1)首先要初始化運行COM庫,導入ADO庫的定義文件;
(2)和數據庫進行連接溝通,使用Connection對象的具體方式;
(3)創建基本的聯動之后,利用 Command、Connection 對象,開始執行SQ L基本命令;運用 Recordset對象的方式,將實踐結果進行收錄,之后進行查詢和處理工作;
(4)最后將基本的連接關閉,釋放對象。
一般來說,應該存儲數據庫的開發過程時產生的龐大的二進制數據對象,包括圖像和音源文件以及二進制數據,這部分總體的儲存數據稱為二進制大對象,和BLOB的含義對等,但存取的過程、方式,和普通數據的處理形式具有本質上的差別,本篇文章中對于BLOB數據實現存取的完整過程主要是運用ADO來完成的。BLOB數據和普通的數據不同,不能直接的進行存取,因此AppendC hunk函數就起到了重要的作用,這個函數屬于Field 對象,其原型是HRESULTA ppendC hunk,以下是代碼分析的詳細過程:
假設 m -pBM PBuffer的指針指向某一二進制數據,假設該二進制數據為一長度為 m -nFileLen,且已經將記錄集對象 m -pR ecordset順利的打開。

圖1 代碼分析過程
綜上所述,在對數據庫編程進行設計的過程中,VC是一個極其強大的工具。利用Microsoft數據庫中的應用程序運行開發的新接口就是ADO。這是一種高層數據庫訪問技術,創建在 OLE/DB 基礎上。在 VC 之下通過 ADO方式來進行數據庫的編程設計不僅可以利用VC的良好特征,更可以為編程人員提供方便,因為VC的數據庫編程主要運用ADO的設計方式,有助于推進數據局基本工程的有效實現,并且可以合理的發揮出 VC 的最大優勢,更加便于編程人員操作,確保程序開發的合理性以及有效性。所以,這種設計方法更為合理,是一種極其合適的數據庫編程方法,具有一定的應用空間。
[1]余云利.應用于自主可編程邏輯控制器的實時數據庫設計與實現[D].西安電子科技大學,2017.
[2]邱暢,王濤.基于VC的數據庫編程設計與實現[J].西部皮革,2016.
[3]羅莎.基于VC的數據庫編程設計與實現研究[J].軟件,2012.
[4]王斌.基于VC的數據庫編程設計與實現[J].電腦編程技巧與維護,2012.
[5]吳兵,唐向陽,劉玉萍,張楠.實現Access數據庫網上查詢的編程設計[J].西南民族學院學報(自然科學版),2002.
[6]范麗萍.基于計算機軟件工程的數據庫編程技術[J].電子技術與軟件工程,2017.