程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MFC ODBC數據庫編程基礎

MFC ODBC數據庫編程基礎

編輯:關於SqlServer
 

1、使用CDatabase類的Open方法打開數據源。
CDatabase類:主要功能是建立與數據源的連接。

2、使用CRecordset類的Open方法打開記錄集。
CRecordset類:代表從數據源選擇一組記錄(記錄集)。

3、綁定記錄集:RFX(Record Field Exchange),記錄字段交換使記錄集(CRecordset)和隱藏於後台的數據源(Datasource)之間建立起對應的關系。
CFieldExchange類:處理數據交換,該類支持數據庫所使用的記錄集字段交換(RFX)程序。如果在使用自定義的數據類型些數據交換程式,會使用這個類,否則不會直接使用此類。RFX在記錄集對象的字段數據成員與數據源中當前記錄的相應字段之間交換數據。

4、參數化記錄集和查詢:CRecordset類對象中有兩個成員變量,一個為m_strFilter,存放SQL語句中WHERE子句的條件字符串;另一個是m_strSort,存放SQL語句中ORDER BY子句的字符串。
除了直接向m_strFilter賦值以外,還可以使用參數化。
步驟:首先聲明變量參變量。
在構造函數中初始化參變量。
將參變量與對應列綁定。
最後利用參變量進行條件查詢。

5、遍歷記錄集合:CRecordset類中有一組函數負責記錄集指針的移動。

6、書簽定位和絕對定位:
A、書簽定位:CRecordset類中提供的書簽定位的方法是GetBookmark和SetBookmark兩個函數。是否支持書簽定位取決於ODBC驅動程序和記錄集類型。可以通過調用CRecordset::CanBookmark來確定是否支持書簽定位。如果想支持書簽定位,還需要在記錄集的Open函數的dwOptions參數位置中加入CRecordset::useBookmarks參數。
B、絕對定位:絕對定位就是通過原始的記錄位置來設置當前記錄。若想使用絕對定位來改變當前的記錄集位置,可以調用CRecordset::SetAbsolutePosition函數。

7、獲取記錄集的數據:DDX是Dialog Data Exchange的縮寫,意思是對話框數據交換。它在對話框上的控件與記錄集的變量之間建立了一座橋梁,可以使它們雙向交換數據。
CRecordView類:顯示記錄,該對象用於在控件中顯示數據庫記錄的視圖。這種視圖是一種直接連接到一個CRecordset對象的格式視圖,它從一個對話框模板資源創建,並將CRecordset對象的字段顯示在對話框模板的控件裡。

8、操作記錄:CRecordset類中的函數AddNew表示向表中添加一條新的記錄, 函數Delete表示向表中刪除一條記錄, 函數Edit表示修改表中一條記錄。
直接執行SQL語句:並不是所有的ODBC功能都被數據庫類所支持,所以有時候需要使用直接執行SQL語句來對數據庫進行一些操作。CDatabase類中有ExecuteSQL函數,通過它可以直接執行SQL語句,執行完後使用Update函數更新數據庫。

9、事務操作:事務操作涉及CDatabase類的幾個成員函數,BeginTrans表示開始事務,CommitTrans代表接收所有對數據源的修改,或者調用Rollback來終止整個事務。
CDBException類:處理異常。以3個繼承的成員變量反映對數據庫操作時的異常。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved