VC++ MFC SQL ADO數據庫訪問技術使用的基本步驟及方法

 
1.首先,要用#import語句來引用支持ADO的組件類型庫(*.tlb),其中類型庫可以作爲可執行程序(DLL、EXE等)的一部分被定位在其自身程序中的附屬資源裏,如:被定位在msado15.dll的附屬資源中,只需要直接用 #import引用它既可。可以直接在Stdafx.h文件中加入下面語句來實現:

【注意,在MFC中路徑要用"/"或者"//"】
其中路徑名可以根據自己系統安裝的ADO支持文件的路徑來自行設定。當編譯器遇到#import語句時,它會爲引用組件類型庫中的接口生成包裝類,#import語句實際上相當於執行了API涵數LoadTypeLib()。#import語句會在工程可執行程序輸出目錄中產生兩個文件,分別爲*.tlh(類型庫頭文件)及*.tli(類型庫實現文件),它們分別爲每一個接口產生智能指針,併爲各種接口方法、枚舉類型,CLSID等進行聲明,創建一系列包裝方法。語句no_namespace說明ADO對象不使用命名空間,rename ("EOF", "adoEOF")說明將ADO中結束標誌EOF改爲adoEOF,以避免和其它庫中命名相沖突。
    2.其次,在程序初始過程中需要初始化組件,一般可以用CoInitialize(NULL);來實現,這種方法在結束時要關閉初始化的COM,可以用下面語句CoUnInitialize();來實現。在MFC中還可以採用另一種方法來實現初始化COM,這種方法只需要一條語句便可以自動爲我們實現初始化COM和結束時關閉COM的操作,語句如下所示:

    3.接着,就可以直接使用ADO的操作了。我們經常使用的只是前面用#import語句引用類型庫時,生成的包裝類.tlh中聲明的智能指針中的三個,它們分別是_ConnectionPtr、_RecordsetPtr和_CommandPtr。下面分別對它們的使用方法進行介紹:
_ConnectionPtr接口返回一個記錄集或一個空指針。通常使用它來創建一個數據連接或執行一條不返回任何結果的SQL語句,如一個存儲過程。使用 _ConnectionPtr接口返回一個記錄集不是一個好的使用方法。對於要返回記錄的操作通常用_RecordserPtr來實現。而用 _ConnectionPtr操作時要想得到記錄條數得遍歷所有記錄,而用_RecordserPtr時不需要。
    _CommandPtr接口返回一個記錄集。它提供了一種簡單的方法來執行返回記錄集的存儲過程和SQL語句。在使用_CommandPtr接口時,你可以利用全局 _ConnectionPtr接口,也可以在_CommandPtr接口裏直接使用連接串。如果你只執行一次或幾次數據訪問操作,後者是比較好的選擇。但如果你要頻繁訪問數據庫,並要返回很多記錄集,那麼,你應該使用全局_ConnectionPtr接口創建一個數據連接,然後使用_CommandPtr 接口執行存儲過程和SQL語句。
    _RecordsetPtr是一個記錄集對象。與以上兩種對象相比,它對記錄集提供了更多的控制功能,如記錄鎖定,遊標控制等。同_CommandPtr接口一樣,它不一定要使用一個已經創建的數據連接,可以用一個連接串代替連接指針賦給 _RecordsetPtr的connection成員變量,讓它自己創建數據連接。如果你要使用多個記錄集,最好的方法是同Command對象一樣使用已經創建了數據連接的全局_ConnectionPtr接口,然後使用_RecordsetPtr執行存儲過程和SQL語句。

特別聲明:如果是MFC程序,則初始化ado組件就不需要用CoInitialize(NULL), 只需要在**App::InitInstance()函數中調用AfxOleInit();即可:例如:

創建一個對話框程序。新建一個名爲ADOConn的類,在頭文件中導入msado15.dll

語句如下:

這句話主要作用是引入ADO類庫。

1:在ADOConn.h頭文件中爲類添加變量和初始化函數

2:爲ADOConn類添加GetRecordSet的函數,目的是打開並獲得記錄集,代碼如下:

3:在ADOConn類中添加ExecteSQL函數,目的是用來執行SQL語句,代碼如下:

4:設置退出記錄集類

5:爲對話框添加一個ListControl控件按鈕,並設置屬性爲Report

爲ListControl控件關聯一個對象CListCtrl m_grid;

在初始化對話框函數裏面添加

6:添加數據.

在對話框添加兩個EditBox控件和一個Combox控件和一個按鈕控件

如下圖:


關聯對象如下

7 修改記錄集

在添加一個EditBox控件,關聯對象CString m_old;用來保存,修改之前的編號;

添加修改按鈕,並響應事件,代碼如下:

以上總結了,SQL連接四種基本操作

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章