第22章数据库编程祥解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第22章数据库编程祥解.ppt

第22章 数据库编程 数据库技术已经成为目前计算机应用中的一个重要组成部分。数据库技术给数据存储和访问带来了巨大的便利,同时数据库技术也推动了软件业的发展,使软件系统应用到了企业级的数据事务处理上。数据库编程已经成为了软件设计中的重要内容。 22.1 概述 数据库主要给用户提供进行有效的数据存储、访问和处理的工具。数据库系统则是包括数据库及其相关的管理系统的集合。C++支持多种方式的数据库访问技术。 22.1.1 数据库和数据库系统 文件也是存储数据方式,但是文件相比数据库缺少数据处理和有效的管理方式。相比文件系统,数据库更有优势,它是一种更有效的数据集成方式。 22.1.2 常见数据库访问技术 建立数据库的目的是供客户使用,客户访问数据库时,就需要数据库访问技术。每种数据库都有其特殊性,厂商一般也会发布其专用的访问接口。如果针对每种数据库都使用其专用的接口,则会使访问数据库变得异常复杂。如果能有通用的数据库访问技术,则可以简化数据库的开发。 22.2 数据访问接口ODBC ODBC(Open Database Connectivity,开放式数据库互连)是一种通用的数据库访问接口,它提供了一系列不依赖数据库类型的API。只要数据库系统具有ODBC驱动程序,就可以利用ODBC技术来进行访问和操作。 22.2.1 ODBC概述 ODBC是一种关系型数据库统一访问接口,目前已经被广泛应用。一个完整的ODBC包括以下几个部分。 应用程序:包括ODBC管理器和驱动程序管理器。ODBC管理器是位于客户端的操作系统之中,用于管理系统内安装的ODBC驱动和数据源。动程序管理器存在于ODBC32.DLL文件中,用于管理ODBC驱动程序。 ODBC API:这些API存在于ODBC驱动程序文件中,提供ODBC和数据库之间的访问接口。 数据源:存储数据库地址和相关信息,通过这些信息可以让ODBC对数据库进行访问。 22.2.2 ODBC API编程 使用ODBC API操作数据库的一般步骤如下。 (1)创建环境句柄和连接句柄,并连接数据源。 (2)创建执行SQL语句句柄。 (3)准备并执行SQL语句。 (4)获取并处理结果集。 (5)提交事务。 (6)断开数据源连接并释放相关句柄。 ODBC API根据安装的ODBC程序略有不同,这里以ODBC 2.X版为基础来进行介绍。 22.3 MFC的ODBC编程 MFC对ODBC API进行了封装,相关的类主要是CDatabase和CRecordSet。一个CDatabase对象表示一个数据库的连接,而CRecordSet则用来操作查询的数据集。通过这两个类可以较为方便地访问数据库。 22.3.1 CDatabase和CRecordSet类介绍 CDatabase类和CRecordset类的声明存放在头文件afxdb.h中,要使用这两个类需要包含头文件afxdb.h。另外,只能在MFC程序中使用这两个类。 22.3.2 数据查询 CRecordSet类的成员函数Open( )和Requery( )都可以实现记录查询的功能。Open( )函数用于获得有效的记录集;Requery( )函数提供再次查询功能(在使用Open( )函数后才能使用Requery( )函数)。 22.3.3 参数化数据查询 大部分实际应用中的数据查询都需要用参数化查询,即查询条件是不定的,是程序实时运行时决定的。 22.3.4 新建数据 新建数据库是调用AddNew( )成员函数来完成的。当调用AddNew( )成员函数后,会在记录集中增加一行数据,之后需要对字段的内容进行填充。需要注意的是,对字段进行设值时,数据和字段类型要相符,否则将可能设值失败。 22.3.5 数据删除 数据的删除是调用Delete( )成员函数实现。当调用此成员函数时,所删除的是当前游标所在的数据行。删除数据后,是不需要再调用Update( )成员函数的,数据会从记录集和数据库中直接被删除。 22.3.6 数据更新 更新数据是调用Edit( )成员函数实现的。更新操作的数据是游标所在行的数据,当调用Edit( )成功后,就可对相应字段进行重新设值(主键是不可以重新设值的)。 22.3.7 直接执行SQL语句 利用CRecordSet类可以对数据库的数据进行一些数据操作。但是对于一些DDL操作,则显得不足。对于DDL和DML操作的语句,最有效的方式是利用CDatabase类的成员函数ExecuteSQL( ),其原型如下。 void ExecuteSQL(LPCTSTR lpszSQL); 22.4 小结 本章主要介绍了Visual C++下数据库编程的一些基本概念和方法。ODBC是一种通用的数据库接口,在实际应用中经常使用

您可能关注的文档

文档评论(0)

四娘 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档