SQL Server mfc 数据库类简介

此文章主要讲述的是SQL Server mfc 数据库类, 我们大家都知道自从 1.5 版之后,mfc 数据库类中就已经包含了odbc 数据库类。visual c++ 2.0 版提供了含有相同类的 32 位版本。这些类基于一个工业认可标准,并已得到广泛应用。

且因其 odbc 具有可移植性而受到其它数据库开发选择方案的青睐。这种可移植性是指能够将许多 odbc 数据源与用这些类创建的应用程序一起使用。近来的性能改进使得 odbc 数据库类成为一个吸引人的选择方案。

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

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

如果您主要使用 odbc(基于服务器)的数据,则使用基于 odbc 的类会使您项目的进展更富成效。

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

真正的决定权在您

您可用来创建数据库应用程序的选项集合很大。它实际是完整的一系列选项,一端是桌面数据库应用程序,另一端是严格的客户/服务器数据库应用程序。仅有的两种看似明显的选择可能是:在 microsoft access 97 mdb 数据中使用 SQL Server 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 选项。但如果您还未考虑其它选项,应该也对它们稍加了解。

在实施前保持原型

在本文中您将数次看到此陈述,因为它很重要。您可能已做了很好的选择,但除非您的解决方案真的起了作用,否则工作就不算完成!

此外,关于本文,我们假设您想了解的是 SQL Server mfc 的数据库类。我们不妨尽可能多地检查一些选择方案,以便您认可您想为自己的***个原型采用的指导。

类 crecordview 是一种 mfc 构造 – 一种显示数据的形式。因为 crecordview 是基于 cformview 的,所以它具有该基础类的所有遗传功能。从本质上说,窗体视图在窗口的客户端区域伸展对话框模板。这使得添加控件与显示字段数据极为容易。

当使用 appwizard 和 classwizard 创建基于 odbc 的数据库应用程序时,记录集的列会自动绑定到(静态地)成员变量,这些变量可以随后添加到对话框模板中。

一个 cdbexception 对象代表一种由数据库类引起的异常错误条件。该类中含有两个公共数据成员,可使用这两个成员确定导致异常错误的原因,或显示对异常错误进行说明的文本消息。cdbexception 对象由数据库类的成员函数构造与抛出。

cfieldexchange 类支持由数据库类使用的记录字段交换 (rfx) 例程。如果您正在编写自定义数据类型的数据交换例程,则使用该类;否则,您不会直接使用该类。rfx 在您记录集对象的字段数据成员和数据源上当前记录的相应字段之间交换数据。rfx 管理两个方向中的交换,即来自数据源的交换与到数据源的交换。

在 dao 的本机格式中,包含 21 个对象和 20 个集合。而且,dao 不仅提供单个的对象,如表和字段,还提供对象所属的集合。对象的这种清晰的层次结构使得能够轻松地将面向对象的原理应用于数据库开发。

dao 的存在已有一段时间。dao 1.0 版出现在 microsoft access 1.0 版中,它仅提供到表与查询结构的接口,以及代表具有数量有限的属性的表、动态集、快照的对象。visual basic 3.0 版中的 data access objects 1.0 添加了 tabledef、querydef 和 field 对象,以提供可编程的结构。

microsoft access 2.0 版中的 dao 2.0 版有 ole 自动化的雏形,以及对几乎所有 microsoft jet 功能的全部编程访问权限。它拥有具有可靠的对象与属性集合的全部对象模型。

dao 2.5 版中含有 odbc 桌面数据库驱动程序 (odbc desktop database driver),这些驱动程序是为 16 位平台能与 odbc desktop database drivers 2.0 版一起使用而创建的。该 16 位版本是为用于 visual basic 4.0 版的 16 位版本而安装的。

dao 3.0 版随带在 microsoft access for windows 95、visual basic 4.0 版(32 位)、microsoft excel 7.0 版 和 visual c ++ 4.0 版中。dao 得到了增强,以支持任何兼容主机的单机接口。

dao 3.5 版随带在 microsoft access for windows 97 中,并且含有新的 odbcdirect com 对象。SQL Server mfc dao 数据库类不包括这些对象的类。

 

最为重要的是,dao 接口是基于 ole com 的,它很好地安置 dao 以适应不断发展的技术和操作系统。

此处是 dao 层次结构图表。在顶端,将看到 dbengine 对象,该对象中含有所有其它对象。这是唯一没有集合的对象,因为您只能有一个引擎。但可以有多个工作区 (workspace)、数据库 (database) 等等,这正是余下的对象都有自己所属集合的原因。

 

在工作区中,可以有多个数据库,一个基本表 (.mdb) 或一个附加/链接的表。在每个数据库中将有一个或多个表、查询、记录集,而其中的每个表、查询、记录集不仅包含字段和(或)索引,还有其它类型的对象。

另外,与工作区连接的是用户对象和组对象,它们形成了 dao 的安全模型。

独立但与引擎对象连接的是 errors 对象。

errors 集合中对象的附加方式不同于其它 dao 集合。最详细的错误放在集合的末尾,最常规的错误放在开头。

【编辑推荐】

  1. SQL Server数据库如何正确加密?
  2. SQL Server2005数据库连接中易出现的错误列举
  3. 实现SQL Server 2005中的模糊查找包并不难
  4. 实现SQL Server数据库同步的准实时方案很简单
  5. 如何加强SQL Server 2000 数据库的网络连接安全性?

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/229222.html<

赞 (0)
管理的头像管理
上一篇2025-04-18 16:18
下一篇 2025-04-18 16:19

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注