当前位置:编程学习 > C/C++ >>

在ODBC 中 应 用DDX 和RFX

 

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

补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,