目前,在Web開發上,Visual C++語言沒有多大的市場。在企業級的應用上,以Java、.NETC#是其中重要的一員)居多,C++仍然占有一席之地,在這裡拿出來和大家分享一下,希望本文能教會你更多東西。
一個基於odbc的應用程序對數據庫的操作不依賴任何dbms,不直接與dbms打交道,所有的數據庫操作由對應的dbms的odbc驅動程序完成。也就是說,不論是foxpro、access還是oracle數據庫,均可用odbc api進行訪問。由此可見,odbc的最大優點是能以統一的方式處理所有的數據庫。
一個完整的Visual C++語言由下列幾個部件組成:
odbc管理器(administrator)。該程序位於windows 95控制面板(control panel)的32位odbc內,其主要任務是管理安裝的odbc驅動程序和管理數據源。 驅動程序管理器(driver manager)。驅動程序管理器包含在odbc32.dll中,對用戶是透明的。其任務是管理odbc驅動程序,是odbc中最重要的部件。 odbc api。
odbc 驅動程序。是一些dll,提供了odbc和數據庫之間的接口。 數據源。數據源包含了數據庫位置和數據庫類型等信息,實際上是一種數據連接的抽象。 各部件之間的關系如圖下圖所示:
應用程序要訪問一個數據庫,首先必須用odbc管理器注冊一個數據源,管理器根據數據源提供的數據庫位置、數據庫類型及odbc驅動程序等信息,建立起odbc與具體數據庫的聯系。這樣,只要應用程序將數據源名提供給odbc,odbc就能建立起與相應數據庫的連接。
在odbc中,odbc api不能直接訪問數據庫,必須通過驅動程序管理器與數據庫交換信息。驅動程序管理器負責將應用程序對odbc api的調用傳遞給正確的驅動程序,而驅動程序在執行完相應的操作後,將結果通過驅動程序管理器返回給應用程序。
1 ado是微軟整個com戰略體系中的一個組成部分
活動數據對象ado)是一組由微軟提供的com組件。 ado建立在微軟所提倡的com體系結構之上,它的所有接口都是自動化接口,因此在c++、visualbasic、delphi等支持com的開發語言中通過接口都可以訪問到ado。ado通過使用ole db這一新技術實現了以相同方式可以訪問關系數據庫、文本文件、非關系數據庫、索引服務器和活躍目錄服務等的數據,擴大了應用程序中可使用的數據源范圍,從而成為微軟整個com戰略體系中訪問數據源組件的首選,是odbc的替代產品。
2 Visual C++語言模型組成
與微軟的其它數據訪問模型dao和rdo相比,ado對象模型非常精煉,僅由三個主要對象connection、command、recordset和幾個輔助對象組成,其相互關系如圖所示。connection對象提供ole db數據源和對話對象之間的關聯,它通過用戶名稱和口令來處理用戶身份的鑒別,並提供事務處理的支持;它還提供執行方法,從而簡化數據源的連接和數據檢索的進程。command對象封裝了數據源可以解釋的命令,該命令可以是sql命令、存儲過程或底層數據源可以理解的任何內容。
record set用於表示從數據源中返回的表格數據,它封裝了記錄集合的導航、記錄更新、記錄刪除和新記錄的添加等方法,還提供了批量更新記錄的能力。其它輔助對象則分別提供封裝ado錯誤、封裝命令參數和封裝記錄集合的列。