VC++数据库技术系列(一)数据库基础知识

 

我们知道程序界有一个著名公式是:程序=数据+算法。这充分说明了数据在程序设计中的重要地位。而当数据规模达到一定程度的时候,为了达到数据的快速存储和快速访问,就必须使用数据库(Database)来进行数据的存储。因为数据库是按照数据结构来组织、存储和管理数据的仓库,利用数据库进行存储具有存储访问快速、管理方便、合理组织、减少数据的冗余度等优势。

 

数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。数据库模型有层次结构模型、网状结构模型、关系结构模型,本篇章主要介绍应用范围最广泛的关系型数据库的访问技术。

 

Visual C++数据库开发的特点

一、              丰富的数据库访问技术可供选择

Visual C++6.0提供了多种多样的数据库访问技术—ODBC APIMFC ODBCDAOOLE DBADO等。这些技术各有特点,用户可按自己的技术熟练程度及项目特点选择适合自己的开发技术。

二、              VC提供的可视化向导功能简化开发过程

利用VC提供的AppWizardClassWizard,用户可以方便地开发出性能优良的基于MFC的数据库应用程序。你甚至不需要编写一句代码,直接通过鼠标点选就能生成一个完整的简单数据库应用程序。

三、              强大的IDE编译器大大提高了开发的效率。

VCIDE是目前世界上功能最强大的编译器之一。利用该IDE所提供的各种辅助工具可方便快速的进行程序编写、编译、链接、调试程序,相比一般的编译器在效率上有明显提高。

四、              开发方式灵活,开发难度适中

Visual C++进行数据库开发,可选择的开发方式多种多样。既可进行面向过程的开发,也可按面向对象的方式进行开发。既可直接调用汇编的代码,也可以通过DLL动态库的方式与其它程序语言进行混合编程。丰富的类库及COM库为开发提供了强大的支持。

五、              良好的架构使其具有较好的可扩展性

Visual C++具有面向对象编程的特性。通过抽象性、继承、重载、多态等特性,面向接口编程,可使整个数据库系统具有良好的架构,支持良好的扩展性。利用面向接口编程及COM组件编程技术,各个部件可进行无缝替换,极大的提高了程序的可扩展性及健壮性。

六、              程序执行效率高,运行速度快

 

我们知道,C++语言在高级语言里是属于与机器语言比较接近的语言,所以它的执行效率一般来说仅次于汇编语言。而且在执行效率要求比较高的地方,可以直接内嵌汇编,这大大提高了程序的执行效率。而且Visual C++更通过代码优化技术,可让程序的执行效率提高百分之十几。这是其它高级语言所无法比拟的。

 

Visual C++数据库开发技术

 

如前所述,Visual C++为数据库开发提供了多种多样的技术支持。用户可供选择的数据库访问技术包括ODBCOpen DataBase Connectivity)、MFC ODBC(Microsoft Foundation Classes ODBC)DAO (Data Access Object)OLE DB(Object Link and Embedding DataBase)ADO(ActiveX Data Object)。这些技术都有各自的特点,适用范围也不尽相同,所以用户一般需要根据技术的特点和项目的特征进行恰当的选择。

1ODBC

优点:ODBC是客户应用程序访问关系数据库时提供的一个统一的接口,ODBC提供了一套统一的API应对不同的数据库访问,这样使应用程序可以只针对ODBCAPI来进行程序编写,就可访问任何提供了ODBC驱动程序的数据库。此外,ODBC还是一种业界标准,几乎所有的关系数据库都提供了相应的ODBC驱动程序,所以具有广泛的应用。

缺点:不过由于ODBC只能用于关系型数据库,使得ODBC很难访问对象数据库及其它非关系型数据库。而且由于ODBC是一个接口层,需要为各种不同的数据库提供适应性,必然会使效率有所降低。此外,在使用ODBC时需要向系统注册一个数据源,这增加一定的配置难度。还需要通过大量的ODBC统一接口API来对数据库访问,也提高了一定的开发难度。

2MFC ODBC

优缺点:因为MFC ODBC只是通过MFC类库MFC ODBCODBCAPI进行了一层简单封装,使API更容易被使用,所以它的优缺点就跟ODBC一样,只是降低了一定的开发难度。

3DAO

优点:DAO(数据访问对象)是一种应用程序编程接口(API),它是微软提供的用于访问Microsoft Jet数据库文件(*.mdb)的强有力的数据库开发工具。DAO是微软的第一个面向对象的数据库接口,各个DAO对象协同工作。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。因为DAO直接内嵌在ACCESS运行环境中,DAO是访问mdb文件有最高效率的数据库引擎。MFC也提供了一组DAO类,封装了底层的API,而且VC向导也提供了对DAO的支持,从而大大简化了程序的开发。此外不必在ODBC管理器中注册DSN

缺点:DAO是基于Microsoft Jet引擎的,只能访问Jet引擎支持的桌面数据库。所以要访问Sql Server必须通过ODBC来进行访问。

4OLE DB

优点:OLE DBVisual C++开发数据库应用中提供的新技术。OLE DB对所有的文件系统包括关系数据库和非关系数据库都提供了统一的接口。所以使用OLE DB可以对大部分数据库进行广泛的支持。同时它是低级应用程序接口,所以在效率上比ODBC高。

缺点:直接使用OLE DB来设计数据库应用程序需要大量的代码。即便可以通过ATL模板来减少一定的工作量,其开发难度也是相对较大的。可以说,他是所有数据库编程接口中难度最大的。

5ADO

优点:ADO是一种面向对象的编程接口,它向我们提供了一个熟悉的,高层的对OLE DBAutomation封装接口。它继承了OLE DB技术的优点,具有易于使用、访问效率高、功能强大的特点。因为是面向对象的,内部通过各个对象相互作用实现。既可访问关系型数据库,也可访问非关系型数据库。

 

缺点:唯一缺点应该是基于COM技术,所以不能跨平台使用,只能用在支持COM接口的机器上,也就是微软的视窗系统了。对于使用VC++来进行开发的话,也不能算是一个缺点了。

 

 

VC++数据库技术系列(二)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
编 者 的 话 5 第1篇 基础篇 6 第1章 数据库原理与访问 7 1.1 数据库基本原理 7 1.1.1 概述 7 1.1.2 桌面数据库 7 1.1.3 对象数据库 8 1.1.4 关系数据库服务器 9 1.1.5 选择适用的数据库 9 1.2 数据库访问技术 10 1.2.1 概述 10 1.2.2 ODBC API 10 1.2.3 ODBC的MFC类 11 1.2.4 DAO与RDO 11 1.2.5 OLE DB与ADO 12 1.3 数据库操纵语言SQL 13 1.3.1 SQL命令 13 1.3.2 SQL从句 13 1.3.3 SQL运算符 14 1.3.4 SQL合计函数 14 1.4 小 结 14 第2章 COM与数据库访问 15 2.1 COM的基本原理 15 2.1.1 COM历史 16 2.1.2 COM结构 16 2.1.3 COM优势 17 2.1.4 COM接口 18 2.1.5 COM与数据库访问 19 2.1.6 COM与Internet 19 2.2 ACTIVEX的数据库访问 19 2.2.1 ActiveX简介 19 2.2.2 ActiveX对数据库访问的支持 20 2.3 ATL的数据库访问 20 2.3.1 ATL目标 20 2.3.2 ATL内容简介 22 2.3.3 ATL对数据库访问的支持 22 2.4 小 结 23 第3章 数据库开发过程 23 3.1 阶段1:调查与分析 24 3.2 阶段2:数据建模 24 3.3 阶段3:功能设计 24 3.4 阶段4:选择数据库系统 25 3.5 阶段5:选择数据库访问技术 25 3.6 阶段6:代码设计 25 3.7 阶段7:测试与调试 26 3.8 阶段8:发行产品 26 第4章 VC++数据库开发基础 26 4.1 VC++ 6.0工程创建向导 26 4.2 VC++ 6.0数据库新建工具 27 4.3 VC++ 6.0的数据库工程 29 4.4 小 结 31 第2篇 实例篇 32 第5章 ODBC API编程 33 5.1 了解ODBC API 34 5.2 ODBC API编程步骤 34 5.2.1 步骤1:连接数据源 34 5.2.2 步骤2:分配语句句柄 36 5.2.3 步骤3:准备并执行SQL语句 36 5.2.4 步骤4:获取结果集 37 5.2.5 步骤5:提交事务 38 5.2.6 步骤6:断开数据源连接并释放环境句柄 39 5.3 ODBC API编程实例 39 5.3.1 实例概述 39 5.3.2 实例实现过程 40 5.3.3 编译并运行ODBCDemo1工程 97 5.3.4 ODBCDemo1实例小结 98 5.4 本 章 小 结 99 第6章 MFC ODBC编程 100 6.1 了解MFC ODBC 100 6.1.1 CDatabase类 100 6.1.2 CRecordSet类 100 6.2 MFC ODBC数据库访问技术 101 6.2.1 记录查询 101 6.2.2 记录添加 102 6.2.3 记录删除 102 6.2.4 记录修改 102 6.2.5 撤销数据库更新操作 103 6.2.6 直接执行SQL语句 103 6.2.7 MFC ODBC的数据库操作过程 103 6.3 MFC ODBC编程实例 104 6.3.1 实例概述 104 6.3.2 实例实现过程 105 6.3.3 编译并运行ODBCDemo2工程 132 6.3.4 ODBCDemo2实例小结 137 6.4 本 章 小 结 137 第7章 DAO数据库编程 138 7.1 DAO的数据访问 138 7.1.1 DAO对象 138 7.1.2 MFCDAO的支持 139 7.1.3 DAO与ODBC的比较 139 7.1.4 MFCDAO类简介 139 7.2 DAO编程实例 142 7.2.1 实例概述 142 7.2.2 实例实现过程 143 7.2.3 运行DAODemo工程 167 7.2.4 DAODemo实例小结 171 7.3 小 结 172 第8章 OLE DB客户数据库编程 172 8.1 OLE DB原理 172 8.1.1 OLE DB与ODBC 172 8.1.2 OLE DB的结构 173 8.1.3 OLE DB的优越性 173 8.1.4 OLE DB对象 174 8.1.5 OLE DB客户模板结构 177 8.1.6 OLE DB客户模

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

b2b160

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值