访问 http://www.qqread.com/mysql/z308793.html
cdaofieldexchange 对象提供发生 dao 记录字段交换所需要的上下文信息。cdaofieldexchange 对象支持许多操作,包括绑定参数和字段数据成员,以及在当前记录的字段上设置各种标志。dfx 操作是在类型的记录集类数据成员上执行的,这些类型由 cdaofieldexchange 中的 enum fieldtype 定义。可能的 fieldtype 值有:
用于字段数据成员的 cdaofieldexchange::outputcolumn。
用于参数数据成员的cdaofieldexchange::param。
点击查看大图
图 1 mfc 的 odbc 数据库类
这里是基于 odbc 的数据库类的图片,与您所了解的相同。顶端的栏代表基于 odbc、与 odbc 交谈的 mfc 类。每个数据库的 odbc 驱动程序都解释 sql 调用,并针对每个数据源对其进行转换。许多数据源都与相应的驱动程序一起显示在关系图的底部,以提醒您 odbc 的灵活性。
图 2 是 dao 数据库类的图片。它们通过含有 dao 的 ole 进行通信,dao 与 jet 数据库引擎交谈。jet 数据库引擎有一些独立的 dll,用于与各种桌面数据源进行通信。
点击查看大图
图 2 mfc dao 数据库类 - 桌面数据源
microsoft jet 数据库引擎可以直接打开诸如 foxpro? 数据库和 paradox 等的数据源。但只要您不需要更改这些数据源的架构,就可以将这些表链接到 microsoft access 数据库中,实际上这会更有效。这就是 foxpro 和 paradox 表(它们仅是示例)显示在两个位置的原因。虚线用以暗示当可能直接打开数据源时,它的效率会更低。
被链接表的外观及工作方式与 microsoft jet 数据库中的任何其它表一样(虽然在连接到远程数据和检索远程数据方面略微有些性能差异)。建立和维护与远程数据源连接所需要的信息存储在表定义中。
相反,当您直接打开表时,必须在每个会话开始时提供连接信息,以便建立与数据源的连接。建立与远程数据源的连接所需要的信息都不存储在 microsoft jet 数据库中。若要直接打开表,就必须使用 cdaotabledef::create,并且必须提供连接信息(如数据源、用户名、密码和数据库名称)。
点击查看大图
图 3 mfc dao 数据库类,包括 sql 数据库
如果使用 dao 数据库类,就可以经由 odbc 访问服务器类型的数据库(如 microsoft sql server 和 oracle)。图 3 不是完整的图片,因为它并没有包括对所有类型数据源的访问。
最后,图 4 是关于 mfc 数据库类的完整图片。请注意,mfc 栏和 odbc 栏上的垂直线表示指派两个数据库类集用作“非此即彼”决策。您可以选择访问所有类型的数据源,但不能混合两个集合中的 mfc 数据库类。
点击查看大图
图 4 mfc 数据库类
odbc 数据库类的数据源选择
当您用 mfc odbc 类编写应用程序时,可以连接到任何数据源(只要您有它的 odbc 驱动程序)。odbc 驱动程序管理器和 odbc 驱动程序的操作在您用这些类编写的应用程序中是透明的,但个别驱动程序性能会影响应用程序的功能。
通常,mfc 动态集(但并非只向前滚动的记录集)要求 odbc 驱动程序具有 2 级 api 一致性。如果数据源的驱动程序符合 1 级 api 设置,您就仍可以使用可更新且只读的快照与只向前滚动的记录集,但不能使用动态集。然而,如果 1 级驱动程序支持扩展的提取和键集驱动游标,它就可以支持动态集。
odbc desktop driver pack 3.0 版支持 2 级 odbc api 调用 sqlextendedfetch。
appwizard 和 classwizard 会自动将数据源的列静态地绑定到您应用程序的成员变量中。这是在您应用程序与数据源之间建立连接的最简单的方法,但不是最灵活的方法。可以用类 cfieldexchange 将自定义的记录字段交换 (rfx) 调用添加到您的应用程序中。请参见“technical note 43:rfx routines”,以获取更多信息。
另外,还可以考虑动态地绑定数据库的列。在最普通的级别中可执行下列步骤:
构造您的主要记录集对象。然后,可以将指针传递给一个打开的 cdatabase 对象,或者也可以用其它方法向列记录集提供连接信息。
执行一些步骤,动态地添加列。
打开您的主要记录集。
记录集会选择记录,并使用记录字段交换 (rfx) 绑定“静态”列(映射到记录集字段数据成员的列)和动态列(映射到您分配的额外存储的列)。
更多内容请看SQL Server 数据处理专题、SQL Server 索引和查询专题、SQL Server专题,或进入讨论组讨论。
cdaofieldexchange 对象提供发生 dao 记录字段交换所需要的上下文信息。cdaofieldexchange 对象支持许多操作,包括绑定参数和字段数据成员,以及在当前记录的字段上设置各种标志。dfx 操作是在类型的记录集类数据成员上执行的,这些类型由 cdaofieldexchange 中的 enum fieldtype 定义。可能的 fieldtype 值有:
用于字段数据成员的 cdaofieldexchange::outputcolumn。
用于参数数据成员的cdaofieldexchange::param。
图 1 mfc 的 odbc 数据库类
这里是基于 odbc 的数据库类的图片,与您所了解的相同。顶端的栏代表基于 odbc、与 odbc 交谈的 mfc 类。每个数据库的 odbc 驱动程序都解释 sql 调用,并针对每个数据源对其进行转换。许多数据源都与相应的驱动程序一起显示在关系图的底部,以提醒您 odbc 的灵活性。
图 2 是 dao 数据库类的图片。它们通过含有 dao 的 ole 进行通信,dao 与 jet 数据库引擎交谈。jet 数据库引擎有一些独立的 dll,用于与各种桌面数据源进行通信。
图 2 mfc dao 数据库类 - 桌面数据源
microsoft jet 数据库引擎可以直接打开诸如 foxpro? 数据库和 paradox 等的数据源。但只要您不需要更改这些数据源的架构,就可以将这些表链接到 microsoft access 数据库中,实际上这会更有效。这就是 foxpro 和 paradox 表(它们仅是示例)显示在两个位置的原因。虚线用以暗示当可能直接打开数据源时,它的效率会更低。
被链接表的外观及工作方式与 microsoft jet 数据库中的任何其它表一样(虽然在连接到远程数据和检索远程数据方面略微有些性能差异)。建立和维护与远程数据源连接所需要的信息存储在表定义中。
相反,当您直接打开表时,必须在每个会话开始时提供连接信息,以便建立与数据源的连接。建立与远程数据源的连接所需要的信息都不存储在 microsoft jet 数据库中。若要直接打开表,就必须使用 cdaotabledef::create,并且必须提供连接信息(如数据源、用户名、密码和数据库名称)。
图 3 mfc dao 数据库类,包括 sql 数据库
如果使用 dao 数据库类,就可以经由 odbc 访问服务器类型的数据库(如 microsoft sql server 和 oracle)。图 3 不是完整的图片,因为它并没有包括对所有类型数据源的访问。
最后,图 4 是关于 mfc 数据库类的完整图片。请注意,mfc 栏和 odbc 栏上的垂直线表示指派两个数据库类集用作“非此即彼”决策。您可以选择访问所有类型的数据源,但不能混合两个集合中的 mfc 数据库类。
图 4 mfc 数据库类
odbc 数据库类的数据源选择
当您用 mfc odbc 类编写应用程序时,可以连接到任何数据源(只要您有它的 odbc 驱动程序)。odbc 驱动程序管理器和 odbc 驱动程序的操作在您用这些类编写的应用程序中是透明的,但个别驱动程序性能会影响应用程序的功能。
通常,mfc 动态集(但并非只向前滚动的记录集)要求 odbc 驱动程序具有 2 级 api 一致性。如果数据源的驱动程序符合 1 级 api 设置,您就仍可以使用可更新且只读的快照与只向前滚动的记录集,但不能使用动态集。然而,如果 1 级驱动程序支持扩展的提取和键集驱动游标,它就可以支持动态集。
odbc desktop driver pack 3.0 版支持 2 级 odbc api 调用 sqlextendedfetch。
appwizard 和 classwizard 会自动将数据源的列静态地绑定到您应用程序的成员变量中。这是在您应用程序与数据源之间建立连接的最简单的方法,但不是最灵活的方法。可以用类 cfieldexchange 将自定义的记录字段交换 (rfx) 调用添加到您的应用程序中。请参见“technical note 43:rfx routines”,以获取更多信息。
另外,还可以考虑动态地绑定数据库的列。在最普通的级别中可执行下列步骤:
构造您的主要记录集对象。然后,可以将指针传递给一个打开的 cdatabase 对象,或者也可以用其它方法向列记录集提供连接信息。
执行一些步骤,动态地添加列。
打开您的主要记录集。
记录集会选择记录,并使用记录字段交换 (rfx) 绑定“静态”列(映射到记录集字段数据成员的列)和动态列(映射到您分配的额外存储的列)。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- SQL Server 数据处理专题 (1856篇文章)
- SQL Server 索引和查询专题 (3324篇文章)
- SQL Server (1813篇文章)
- SQL Server (1815篇文章)
- 专访MySQL CEO:MySQL与企业级应用 (0次浏览)
- 深入了解MySQL系统日常管理 (0次浏览)
- 如何保护MySQL重要数据 (0次浏览)
- 浅析MySQL数据库常用管理 (0次浏览)
- 缓存PHP页面代码 可减轻CPU和MYSQL负担 (0次浏览)
- 浅析Tomcat5配置Mysql JDBC数据库连接池 (0次浏览)
- MySQL数据库敏感数据安全保护六大措施 (0次浏览)
- apache+php+mysql+serv_u迷你傻瓜安装程序 (0次浏览)
- Oracle,SQL Server,MySQL的自增变量设置 (0次浏览)
- Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN的简 (0次浏览)



