没有合适的资源?快使用搜索试试~ 我知道了~
Visual-C++数据库编程快速入门.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 136 浏览量
2021-10-03
14:45:03
上传
评论
收藏 75KB DOC 举报
温馨提示
试读
37页
Visual-C++数据库编程快速入门.doc
资源推荐
资源详情
资源评论
Visual C++数据库编程快速入门
odbc(open database connectivity,开放数据库互连)是微软公司开
放效劳结构(wosa,windows open services architecture)中有关数据库
的一个组成局部,它建立了一组标准,并提供了一组对数据库访问
的标准 api〔应用程序编程接口〕。这些 api 利用 sql 来完成其大局部
任务。odbc 本身也提供了对 sql 语言的支持,用户可以直接将 sql 语
句送给 odbc。
一个基于 odbc 的应用程序对数据库的操作不依赖任何 dbms,不直
接与 dbms 打交道,所有的数据库操作由对应的 dbms 的 odbc 驱动程
序完成。也就是说,不管是 foxpro、access 还是 oracle 数据库,均可
用 odbc api 进行访问。由此可见,odbc 的最大优点是能以统一的方
式处理所有的数据库。
一个完整的 odbc 由以下几个部件组成:
应用程序(application)。
odbc 管理器(administrator)。该程序位于 windows 95 控制面板
(control panel)的 32 位 odbc 内,其主要任务是管理安装的 odbc 驱动
程序和管理数据源。
驱 动 程 序 管 理 器 (driver manager) 。 驱 动 程 序 管 理 器 包 含 在
odbc32.dll 中,对用户是透明的。其任务是管理 odbc 驱动程序,是
odbc 中最重要的部件。
odbc api。
odbc 驱动程序。是一些 dll,提供了 odbc 和数据库之间的接口。
数据源。数据源包含了数据库位置和数据库类型等信息,实际上是
一种数据连接的抽象。
各部件之间的关系如图以下图所示:
应用程序要访问一个数据库,首先必须用 odbc 管理器注册一个数据
源,管理器根据数据源提供的数据库位置、数据库类型及 odbc 驱动
程序等信息,建立起 odbc 与具体数据库的联系。这样,只要应用程
序将数据源名提供应 odbc,odbc 就能建立起与相应数据库的连接。
在 odbc 中,odbc api 不能直接访问数据库,必须通过驱动程序管理
器与数据库交换信息。驱动程序管理器负责将应用程序对 odbc api
的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,
将结果通过驱动程序管理器返回给应用程序。
在访问 odbc 数据源时需要 odbc 驱动程序的支持。用 visual c++ 5.0
安装程序可以安装 sql server、 access、 paradox、 dbase、 foxpro、
excel、 oracle 和 microsoft text 等驱动程序.在缺省情况下,vc5.0 只
会安装 sql server、 access、 foxpro 和 dbase 的驱动程序.如果用户需
要安装别的驱动程序,那么需要重新运行 vc 5.0 的安装程序并选择
所需的驱动程序。
1 ado 是微软整个 com 战略体系中的一个组成局部活动数据对象
〔ado〕是一组由微软提供的 com 组件。 ado 建立在微软所提倡的
com 体系结构之上,它的所有接口都是自动化接口,因此在 c+
+、visualbasic、delphi 等支持 com 的开发语言中通过接口都可以访
问到 ado。ado 通过使用 ole db 这一新技术实现了以相同方式可以访
问关系数据库、文本文件、非关系数据库、索引效劳器和活泼目录
效劳等的数据,扩大了应用程序中可使用的数据源范围,从而成为
微软整个 com 战略体系中访问数据源组件的首选,是 odbc 的替代产
品。
2 ado 对象模型组成
与微软的其它数据访问模型 dao 和 rdo 相比,ado 对象模型非常精炼,
仅由三个主要对象 connection、command、recordset 和几个辅助对象
组成,其相互关系如下图。connection 对象提供 ole db 数据源和对话
对象之间的关联,它通过用户名称和口令来处理用户身份的鉴别,
并提供事务处理的支持;它还提供执行方法,从而简化数据源的连
接和数据检索的进程。command 对象封装了数据源可以解释的命令,
该命令可以是 sql 命令、存储过程或底层数据源可以理解的任何内容。
record set 用于表示从数据源中返回的表格数据,它封装了记录集合
的导航、记录更新、记录删除和新记录的添加等方法,还提供了批
量更新记录的能力。其它辅助对象那么分别提供封装 ado 错误、封
装命令参数和封装记录集合的列。
3 ado 的特点分析
(1)由于封装了许多底层工作,使用 ado 与使用 odbc 几乎是一样
方便。
(2) ado 不仅具有 odbc 的主要功能,而且 ado 适用的数据源的范
围要大的多。
(3)在定义 ado 记录集变量和数据库表字段绑定类时,要求记录集
的字段变量、状态变量与数据库表字段的个数、顺序必须相同。这
一点比在 fmc 中使用 odbc 要复杂一些。但在数据库字段与 ado 记录
集字段变量绑定的宏中,ado 提供的数据类型要远多于 fmc 中的
rfx〔如日期时间类型,在 odbc 中只能转换为 cstring 类型〕。
(4)ado 允许同一 connection 实例下有多个 record set 实例。
(5)ado 允许进行批更新〔使用的 update batch 方法〕,这样将大
大减轻网络负担,提高数据库处理效率。
4 ado 在 visual c++中的使用
close();
〔12〕 调用 counitialize 释放 com 资源 ::couninitialize();
5 结论
作为 odbc 的替代产品,ado 确实有其过人之处。由于 ado 数据
源几乎覆盖了目前常见的数据源类型,对于 odbc 所不支持的数据源,
ado 无疑是唯一的选择。而 ado 的批更新功能,更是网络环境下大数
据量更新应用的重要因素。由于 ado 缺乏大量的第三方厂商的支持,
使得 ado 目前远不如 odbc 普及,但其面向对象的特性将使 ado 具有
比拟广阔的开展前景。
有很多种使用数据库的方法,对大多数数据库来说,选择 c++这
种产品也许并不适宜。我们知道,像 dbase iv,foxpro,oracle 和
access 这样的产品是完全以数据库管理为中心的。事实上,这些产
品非常善于创立数据库管理器,以至于它们确实并不善于做太多其
它的工作。即使要用更通用化而非更专用化的数据库产品来执行一
些类型的工作,在使程序设计更容易这一方面,像 visualbasic 和
delphi 这样的 rad 环境也要比 visual c++强很多。
你是不是对我的说法感到很奇怪?下面我就要谈一谈,在谈到
使用数据库管理系统(dbms)这个话题时,用 visual c++实际上可以做
些什么。虽然上述其它语言使得编写成熟的包括用户界面和高速搜
索能力的 dbms 就像孩子做游戏一样容易,但是,它们缺少 visual c+
+可以提供的某些重要东西。你不能为使用 access 的数据库轻松地编
写出实用程序。正像实用程序的定义所说的,实用程序应该很小并
且具备可移植性——access 应用程序却不是这样。即使用 access 这
样的产品创立的程序可以很小并且可以移植,你仍有其它方面的需
求:底层的功能。
注:编写数据库实用程序及驱动程序时,可以选择 visual c++语
言。
想像一下,使用像 visual basic 这样的语言来与实时数据采集设
备打交道的情况。在进行底层访问时,rad 的保护环境常常使程序员
不能进行有效的处理。当然,数据采集设备几乎不依赖于简明的连
接。你打算如何把 visual basic 和外部的数据源连接起来呢?数据源
甚至可能不了解 windows,dos 或类似的成熟的操作系统。
只要使用得当,很容易看到 visual c++是一种不可或缺的数据库
管理工具。针对大规模的应用程序,即使你仍想依赖于 visual basic
这样的 rad 语言,也请考虑一下 visual c++,它创立的程序规模小、
剩余36页未读,继续阅读
资源评论
zhangao_fengg
- 粉丝: 16
- 资源: 5万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功