• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            VC數據庫編程筆記(一)

            一、 VC 提供的數據庫訪問技術

            ODBC API MFC ODBC DAO OLE DB ADO

            訪問速度:傳統的 ODBC 速度較慢。 OLE DB ADO 都是基于 COM 技術,使用該技術可以直接訪問數據庫的驅動程序,速度大大提高。

             

            可擴展性:通過 OLE DB ActiveX 技術,可以利用 VC 提供的各種組件,控件和第三方提供的組建。從而實現應用程序組件化。

             

            訪問不同數據源:傳統 ODBC 只能訪問關系數據庫。 VC 中提供 OLD DB 技術可以解決該問題。

            二、 幾種技術概述

            1、 ODBC API

            提供一個通用接口,為 ORACLE SQLSERVER 都提供了驅動程序。用戶可以 SQL 語句對數據庫進行直接的底層功能操作。使用時應包含以下頭文件。 ”SQL.H”,”SQLEXT.H”,”SQLTYPES.H”.

            使用步驟如下:

            第一步:分配 ODBC 環境,初始化一些內部結構。完成該步,需要分配一個 SQLHENV 類型的變量在 ODBC 環境中做句柄使用。

            第二步:為將要使用的每一個數據源分配一個連接句柄,有函數 SQLALLocHandle ()完成。

            第三步:使用 SQLConnect ()把連接句柄與數據庫連接,可以先通過 SQLSetConnectAttr ()設置連接屬性。

            第四步:進行 SQL 語句操作。操作完就可以斷開與數據庫的連接。

            第五步:釋放 ODBC 環境。

             

            特點:功能強大,提供異步操作,事務處理等高級功能。目前所有關系數據庫都提供了 ODBC 的驅動程序,使用很廣泛。

            缺點:很難訪問對象數據庫和非關系數據庫。

             

            2、 MFC ODBC

             

            為簡化使用 ODBC API VC 提供了 MFC ODBC 類,封裝了 ODBC API

            主要 MFC ODBC 類如下:

            CDatabase 類:一個 CDatabase 對象表示一個到數據源的連接,通過它可以操作數據源。一般不需要直接使用 CDatabase 對象,因為 CDecordSet 對象可以實現大多數功能,但在進行事務處理時, CDatabase 就起到關鍵作用。

            CRecordSet 類:一個 CRecordSet 對象代表一個從數據源選擇的一組記錄的集合 ----- 記錄集。記錄集有兩種形式: snapshot dynaset 。前者表示是靜態視圖。后者表示記錄集與其它用戶對數據庫的更新保持同步。

            CRecordView 類:是在空間中顯示數據庫記錄的視圖。這種視圖是直接連到一個 CRecordSet 對象的格式視圖。他從一個對話框模版資源創建。并將 CRecordSet 對象的字段顯示在對話框模版的控件里。對象利用 DDX RFX 機制。使格式上的控件和記錄集的字段之間數據移動自動化。

            CDBException 類:由 Cexception 類派生,以 3 個繼承的變量反映對數據庫操作時的異常。

             M_nRetCode: ODBC 返回碼。

            M_strError: 字符串,描述造成拋出異常的錯誤原因。

            M_strStateNativeOrigin: 字符串,描述以 ODBC 錯誤碼表示的異常錯誤。

             

            3、 MFC DAO

             

            MFC DAO 是微軟提供的用于訪問 Microsoft Jet 數據庫文件( * Mdb )的工具。當只需訪問 Access 數據庫時用該技術很方便。

            4、 OLE DB

             

            ODBC 技術類似, OLE DB 屬于數據庫訪問技術中的底層接口。

            直接使用 OLEDB 需要大量代碼, VC 中提供了 ATL 模版,

            OLEDB 框架定義了應用的 3 個基本類。

             

            數據提供程序 Data Provider 擁有自己的數據并以表格形式顯示數據的應用程序。

            使用者 Consumers :試用 OLEDB 接口對存儲在數據提供程序中對數據進行控制的應用程序。

            服務提供程序 ServiceProvider :是數據提供程序和使用者的組合。

             

            使用 OLE DB 編程時,用戶使用組件對象開發程序,這些組件包括:

            枚舉器:用于列出可用的數據源;

            數據源:代表單獨的數據和服務提供程序,用于創建對話;

            對話:     用于創建事務和命令;

            事務:     用于將多個操作歸并為單一事務處理;

            命令:     用于向數據源發送文本命令( SQL ),返回行集;

            錯誤:     用于獲得錯誤信息。

            5、 ADO

             

            ADO 技術是基于 OLE DB 的訪問接口。繼承了 OLEDB 的優點,并對 OLEDB 的接口作了封裝,定義了 ADO 對象,使開發簡化。 ADO 屬于數據庫訪問的高層接口。

             

            ADO 在服務器應用方面非常有效,特別是動態服務器頁面( ASP )的支持。

             

            ADO 對象結構類似于 OLEDB ,但并不依靠對象層次。大多數情況用戶只需創建并使用需要的對象。下面的對象類組成了 ADO 接口。

             

            Connection  用于表示與數據庫的連接,以及處理一些事務和命令。

            Command    用于處理傳送給數據源的命令。

            Recordset    用于處理數據的表格集, 包括獲取和修改數據。

            Field            用于表示記錄集中的列信息,包括列值和其他信息。

            Parameter    在傳送給數據源的命令之間傳遞數據。

            Property      用于操作在 ADO 中使用的其它對象的詳細屬性。

            Errro           用于獲取可能發生的詳細錯誤信息

            posted on 2009-05-21 21:18 wrh 閱讀(396) 評論(0)  編輯 收藏 引用

            導航

            <2008年4月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            統計

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久亚洲中文字幕精品有坂深雪 | 亚洲AV日韩精品久久久久久| 日韩亚洲国产综合久久久| 四虎久久影院| 国产精品一久久香蕉产线看| 国产午夜精品理论片久久| 四虎国产精品成人免费久久| 久久丫精品国产亚洲av不卡 | 97久久精品无码一区二区| 青青草国产成人久久91网| 伊人色综合九久久天天蜜桃| 久久综合久久自在自线精品自| 91精品免费久久久久久久久| 香蕉久久夜色精品国产2020| 国产韩国精品一区二区三区久久 | 久久精品国产亚洲精品| 一本色道久久HEZYO无码| 国产成人精品综合久久久| 日韩久久久久久中文人妻| 久久久精品国产亚洲成人满18免费网站 | 久久播电影网| 国产色综合久久无码有码| 久久―日本道色综合久久| 久久人与动人物a级毛片| 久久这里只有精品18| 一级a性色生活片久久无| www亚洲欲色成人久久精品| 久久99精品久久久久婷婷| 欧美精品九九99久久在观看| 久久e热在这里只有国产中文精品99 | 久久国产精品免费一区二区三区 | 久久人与动人物a级毛片| 久久不见久久见免费视频7| 狠狠综合久久综合88亚洲| 久久精品国产秦先生| 欧美熟妇另类久久久久久不卡 | 久久www免费人成看片| 综合久久精品色| 亚洲国产香蕉人人爽成AV片久久| 国内精品伊人久久久久影院对白| 久久精品国产亚洲一区二区|