频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

MS SQL Server MFC DAO 类和 MFC ODBC 类:我使用哪个类集?

来源:赛迪网技术社 作者: 出处:巧巧读书 2007-04-13 进入讨论组
下一页 1 2 3 4 5 

  自 mfc 数据访问对象 (dao) 数据库类在 1995 年 10 月发布以来,mfc 数据库开发人员就已开始考虑该使用哪个类集。本白皮书并不力图用常规术语回答此问题。相反,这里要强调的是对各种选择进行检查,以便您(即开发人)

自 mfc 数据访问对象 (dao) 数据库类在 1995 年 10 月发布以来,mfc 数据库开发人员就已开始考虑该使用哪个类集。本白皮书并不力图用常规术语回答此问题。相反,这里要强调的是对各种选择进行检查,以便您(即开发人员)可以确定每种情况最适合使用哪个 mfc 数据库类集。

大多数 mfc 开发人员都熟悉开放式数据库连接 (odbc) 数据库类 - 它们早在三年半以前就出现了。在 mfc 4.2 中,对这些类有一些重要的改进。

身为 c++ 开发人员,您可能不熟悉 dao,因为到目前为止它还只可用于 microsoft access 和 visual basic? 程序设计系统。如果您熟悉 dao,就必须了解:dao 在 mfc 中的实现颇有不同,但包罗广泛。

了解 mfc odbc 类的开发人员必须知道:虽然 mfc dao 类比 odbc 类功能性更强,但 dao 类不能代替它们。


对于那些不怎么熟悉 mfc 的人,我想提醒一句:mfc 有一个适用于各种数据库类的设计原则。

mfc 像一张薄薄的包装纸那样,封装 windows? 操作系统 api,提供您想要的 c++ 性能,同时提供您需要的抽象概念。当基础 api 具有实际意义时,向其添加值。可是多数时候 mfc 力图保持不为人触及。

就如 mfc 封装更复杂的 api 一样,数据库类也封装更复杂的技术。因为 mfc 可以在 intel、unix 和 alpha 之间进行移值,所以数据库应用程序解决方案也是可移值的。

我们与 microsoft access、visual basic 使用相同的记录集模型,因此,已经使用那些产品的开发人员不必学习新的范例。另外,两个类集的体系结构基本相同,使用其中一个类集的开发人员可以轻松地切换到另一个类集并使用它。


mfc 数据库类


自从 1.5 版之后,mfc 中就已经包含 odbc 数据库类。visual c++ 2.0 版提供了含有相同类的 32 位版本。这些类基于一个工业认可标准,并已得到广泛应用,且因其 odbc 具有可移植性而受到其它数据库开发选择方案的青睐。这种可移植性是指能够将许多 odbc 数据源与用这些类创建的应用程序一起使用。近来的性能改进使得 odbc 数据库类成为一个吸引人的选择方案。

在多数情况下,mfc 4.0 中的 dao 数据库类允许您直接访问桌面数据源而无须使用 odbc。dao 数据库类所具有的同时打开多个数据库类型的能力、使用多数据源的能力以及数据定义语言能力,使其成为重要的开发选择方案。

现在,您已经准备好提出这个问题,自己应使用哪个数据库类集合。如果您所提供的有关自己项目的信息不多,就很难确定这个问题的答案。但是,第一件要考虑的事情是您使用什么数据源。如果您通常使用桌面数据,我们鼓励您考虑 mfc dao 数据库类,因为您将会发现它们极为有效且功能强大。如果您主要使用 odbc(基于服务器)的数据,则使用基于 odbc 的类会使您项目的进展更富成效。

其它考虑事项包括网络种类、可伸缩性要求,以及速度是否是最重要的因素。最好是用您认为工作得最好的数据库类集让应用程序保持原型。可以进行一些基准测试,以确定您的最佳性能选择。

真正的决定权在您

您可用来创建数据库应用程序的选项集合很大。它实际是完整的一系列选项,一端是桌面数据库应用程序,另一端是严格的客户/服务器数据库应用程序。仅有的两种看似明显的选择可能是:在 microsoft access 97 mdb 数据中使用 mfc dao 数据库类,而在 microsoft sql server ? 6.5 中使用 mfc odbc 数据库类。这两种组合主要是互相配合使用的,均非常有效。但您可能已对这些选择有所了解,其它情况又该如何呢?


简要地说,以下是您赖以决策的过程:


确定数据源需求

您需要的数据库有多大? 一次会有多人需要访问数据吗? 有时,其余的大多数步骤均取决于您选择的数据源。

确定接口需求

如果您需要的接口有大量的用户输入(如用户可以设计自己的查询),那么在调整和分发数据库(一个或多个)时就必须要慎重。例如,如果需要用变化不大的数据填充列表框,并且已选择基于服务器的数据源,则将通常不变化的数据存储在本地而非服务器上,是一种有意义的做法。

确定连接性需求

目前使用的网络协议有很多种,每种协议都对通过网络传送的数据各有不同影响。关于网络的讨论不是本白皮书份内之事,但您需要了解如何优化自己的数据库应用程序,以避免遇到网络的数据陷阱。

选择适当的工具(一个或多个)

microsoft 为数据库开发人员提供了多种可选择的工具(microsoft access、visual basic、visual basic enterprise、visual c++/mfc 以及 sql server),在某些情况下它们的功能略有重叠。本白皮书旨在讨论 visual c++/mfc 选项。但如果您还未考虑其它选项,应该也对它们稍加了解。

保留:: http://www.qqread.com/mysql/z308793.html 更多文章 更多内容请看SQL Server 数据处理专题SQL Server 索引和查询专题SQL Server专题,或进入讨论组讨论。
下一页 1 2 3 4 5 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选