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

在ODBC 中 應 用DDX 和RFX

編輯:關於C語言

 

MFC 中ODBC 類 庫 簡 介

---- MFC 中 針 對ODBC 數 據 庫 編 程 提 供 了 五 種 基類。 這 些 類

封 裝 了 有 關ODBC 的API 調 用, 使 用 戶 能 夠 利 用ODBC 完 成 不 同

類 型 的 數 據 庫 編 程 工 作, 如 訪 問Foxpro、dBASE 或Sybase 等 不 同

 類 型 數 據 庫 文 件, 從 而 避 開 各 種 類 型 數 據 庫 文 件 的 復

雜 的 內 部 結 構。 這 五 種 基 類 是:

 

CDatabase 類 對 象 表 示 與 數 據 源 的 連 接。 用 戶 正是 基 於 此

 連 接 實 現 對 數 據 源 的 操 作。

 

CRecordset 類 對 象 表 示 了 從 數 據 源 中 選 出 的 一組 記 錄。

 該 對 象 使 用 戶 能 完 成 在 記 錄 間 的 滾 動、 更 新 記 錄、 對

記 錄 進 行 過 濾 排 序 等 操 作。

 

CRecordView 類 對 象 直 接 與 一CRecordset( 記 錄集) 類 對 象 連 接,

 為 該 記 錄 集 提 供 顯 示 的 視 圖。 它 是 數 據 庫 操 作 的 界 面。

 

CFieldExchange 類 支 持 數 據 庫 的 字 段 交 換 過 程,即RFX 機 制。

 

CDBException 類 完 成 數 據 庫 類 操 作 的 異 常 處 理。用 戶 可 根

據 其 中 公 用 成 員 變 量 的 取 值 來 分 析 出 現 錯 誤 的 原 因 或

顯 示 出 相 應 的 文 本 信 息。

---- 以 下 我 們 利 用VC 中 的AppWizard 生 成 一 個 簡單 的 示 例 程

序 以 供 使 用:

 

---- 1. 選 擇[File] 中 的[New], 在 彈 出 的 對 話 框中 選 擇 文 件

類 型 為[MFC AppWizard(EXE)]。 在[Project name] 中 鍵 入 文 件 名,

如:testodbc, 點 按[OK] 按 鈕。

 

---- 2. 在 程 序 類 型 中 選 擇[Single document], 點 按[Next] 按 鈕。

 

---- 3. 在 數 據 庫 支 持 中 選 擇[Database view with file support],

點 按[Data source] 按 鈕 進 入 數 據 庫 選 擇 對 話 框。

 

---- 4. 在[Datasource] 中 選 擇[ODBC], 然 後 在下 拉 列 表 中 選

擇 [Visual Foxpro Tables]。[Recordset type] 設 定 為[Snapshot]。 點

按[OK] 按 鈕 選 擇 數 據 庫 源 文 件:test.dbf。

 

---- 5. 選 擇 了 數 據 庫 源 文 件 後, 接 連 點 按[Next],生 成 程

 序 所 需 的 源 文 件。

 

---- 此 時 生 成 以 下 各 類 及 其 對 象:

 

CAboutDlg

 

CMainFrame

 

CTestodbcApp

 

CTestodbcDoc

 

CTestodbcSet

 

CTestodbcView

RFX 簡 介

---- RFX 是Record Field Exchange 的 縮 寫, 意即 記 錄 字 段 數 據

交 換。 它 在 用 戶 選 擇 的 記 錄 集(Data set) 和 隱 藏於 後 台 的

 數 據 源(Data source) 之 間 建 立 對 應 關 系, 使 用 戶 能 通 過 操

 作 此 記 錄 集 來 實 現 對 數 據 源 的 操 作。MFC 中 提 供 了 一 系

列RFX 調 用 函 數, 通 過 這 些 函 數, 可 以 隨 時 在 記 錄集 和 數

 據 源 之 間 進 行 數 據 交 換, 這 種 交 換 是 雙 向 的。 這 些 函

 數 有:

 

 函 數                   數 據 類 型

RFX_Bool                  BOOL

RFX_Byte                  BYTE

RFX_Binary                 CByteArray

RFX_Double                double

RFX_Single                 float

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