MFC基础教程(初学者)_12

上传人:野鹰 文档编号:3097000 上传时间:2017-07-30 格式:PDF 页数:44 大小:395.73KB
返回 下载 相关 举报
MFC基础教程(初学者)_12_第1页
第1页 / 共44页
MFC基础教程(初学者)_12_第2页
第2页 / 共44页
MFC基础教程(初学者)_12_第3页
第3页 / 共44页
MFC基础教程(初学者)_12_第4页
第4页 / 共44页
MFC基础教程(初学者)_12_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《MFC基础教程(初学者)_12》由会员分享,可在线阅读,更多相关《MFC基础教程(初学者)_12(44页珍藏版)》请在金锄头文库上搜索。

1、第 12章 数据库编程 数据库技术是当今世界范围内最为热门的一大技术。通常情况下,数据库是网络计算的后台支柱。因此,数据库技术无论在现在还是在将来都是一门不可或缺的商业应用技术。运用 Visual C+中的数据库编程,可以方便地管理数据库中的数据。本章向读者介绍数据库编程技术,内容包括数据库基础、 ODBC数据库编程、 ADO数据库编程。 通过本章的学习,读者可以熟练地使用数据库编程技术管理数据库中的数据。 12.1 数据库基础 掌握数据库技术,需要了解与数据库技术相关的 4个基本概念:数据、数据库、数据库管理系统和数据库系统。 1数据 所谓数据,就是描述事物的符号。在人类的日常生活中,数据无

2、所不在。数字、字母、文字、图片、声音等都是数据。在 Visual C+中,各种变量、常量都是数据。 2数据库 数据库,顾名思义,就是用于存储数据的地方。在计算机中,数据以一定的格式和规则存放在存储设备上。另外,在计算机中,数据库是数据和数据对象的集合。所谓数据对象,就是指的表( Table)、视图( View)、存储过程( Stored Procedure)、触发器( Trigger)等。 3数据库管理系统 数据库管理系统( Database Management System, DBMS)是一种管理和操作数据库的软件,主要用于建立、使用和维护数据库。例如,Oracle、 Access、 Sy

3、base和 SQL Server等都是 DBMS。 DBMS对数据进行统一的管理,以保证数据的安全性和完整性。从计算机软件系统的构成来看, DBMS是介于用户和操作系统之间的一组软件,如图下所示。 4数据库系统 数据库系统( Database System, DBS)是由计算机硬件、操作系统、数据库管理系统以及在它支持下建立起来的数据库、应用程序、用户和维护人员组成的一个整体。目前使用最广泛的数据库系统是关系型数据库。 12.4 结构化查询语言( SQL) SQL( Structured Quary Language),即结构化查询语言。 SQL语言结构简洁,功能强大,简单易学。因此, SQL

4、语言得到了广泛应用。下面对 SQL语言进行详细介绍。 12.4.1 SQL语言的分类 根据 SQL语言的执行功能,可以将其分为 4类。 1数据定义语言 数据定义语言( Data Definition Language, DDL)完成数据的定义。DDL主要用于创建、修改和删除表、视图和索引。 2查询语言 查询语言( Quary Language, QL)完成数据的查询功能。 QL主要用于单表查询、连接查询、嵌套查询以及集合查询等不同的查询操作。 3数据操纵语言 数据操纵语言( Data Manipulation Language, DML)完成数据库中添加、修改、删除存储在数据库中的数据对象。

5、4数据控制语言 数据控制语言( Data Control Language, DCL)用于控制访问数据库的用户,还可以控制用户对数据库的访问类型。另外, DCL还可以用于对数据库的监控。 12.4.2 SQL语言的数据类型 数据库的基本组成单位是表,而表又是由数据组成的。表中每个字段的数据都需要说明它的数据类型。 SQL语言中常用的数据类型如下表所示。 12.4.3 SQL语句 在查询分析器中,通过使用 SQL语句,同样可以创建、修改和删除数据库中的数据对象。打开查询分析器的方法和打开企业管理器的方法一样。在开始菜单中选择所有程序,单击 【 Microsoft SQL Server】 |【 查

6、询分析器 】 命令,即可弹出查询分析器的窗口。下面对常用的SQL语句进行简单介绍。 1创建表 如果想要创建一个数据库表,可以使用如下语句: 其中,限制条件的关键字可以是 null(允许为空)、 not null(不允许为空)、 unique(唯一)等。 【 示例 12-2】 创建一个学生表,其由学号、姓名、性别、年龄和住址5个字段组成。其中,学号应该是唯一的,且不能为空。 SQL语句如下: 2向表中插入数据 如果想要向数据库表中添加一行新的数据,可以使用如下语句: 【 示例 12-3】 向创建的学生表中插入数据, SQL语句如下: 注意:向表中插入内容时,如果是字符串类型,需要用单引号。 3查

7、询表中数据 如果想要对表中的数据进行查询,可以使用如下语句: 【 示例 12-4】 对学生表中的数据进行查询, SQL语句如下: 4修改表中数据 如果想要修改一个数据库表中的数据,可以使用如下语句: 【 示例 12-5】 向学生表中插入新的一列“爱好”,然后对表中的内容进行修改 SQL语句如下: 5删除表中数据 如果想要删除表中的一行或多行记录,可以使用如下语句: 【 示例 12-6】 删除学生表中一条记录, SQL语句如下: 如果想要删除一个数据库表中所有的记录,可以使用如下语句: 【 示例 12-7】 删除学生表中的所有记录, SQL语句如下: 6删除表 如果想要删除一个表,可以使用如下语

8、句: 【 示例 12-8】 删除数据库中的学生表, SQL语句如下: 7视图的相关操作 视图( view)是一种从一个或几个基本表中根据用户需要而做成一个虚表。由于视图是虚表,因此它在存储时只存储视图的定义,而没有存储对应的数据。视图只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展现给用户。 如果想要创建一个视图,可以使用如下语句: 【 示例 12-9】 创建有关学生平均年龄的视图, SQL语句如下: 如果想要删除一个视图,可以使用如下语句: 【 示例 12-10】 删除有关学生平均年龄的视图, SQL语句如下: 12.5 数据库开发技术简介 MFC中封装了支持数据库操作的类,因此大大简化

9、了在 Visual C+集成开发环境下的数据库编程。数据库开技术有多种, ODBC、 DAO、ADO等。下面分别对这三种技术进行介绍。 12.5.1 ODBC技术 ODBC是 Open Database Conectivity(开放数据库互联)的缩写。ODBC提供了一组标准应用程序编程接口 API,用户通过 SQL语句实现对数据库管理系统的访问。 任何应用程序同路人要系统包含某种数据库的 ODBC驱动程序 , 就可以使用 API访问数据库, 每个不同的数据源都由一个ODBC驱动支持 。 用户使用 ODBC环境中的驱动程序管理器 , 实现驱动程序与 DBMS的连接 。ODBC的结构是分层管理的

10、, 其体系结构如右图所示 。 12.5.2 DAO技术 DAO是 Data Access Object(数据访问对象)的简称。 DAO是第一个面向对象的接口,其通过 Microsoft Access自动获得 Microsoft Jet数据库引擎,进而可以访问数据库。 DAO技术通常用于操作 .mdb数据库文件,但其可以使用 Microsoft Access/Jet数据库引擎来访问 ODBC数据源。 DAO的体系结构如下图所示。 12.5.3 ADO技术 ADO是 ActiveX Data Object( ActiveX数据对象)的简称。 ADO是一种特殊的 OLEDB客户程序,它完全继承了 O

11、LEDB技术的优点,但又对 OLEDB的接口作了封装。 ADO技术是一种高层的访问技术,并且是跨平台使用的。 ADO允许访问 Visual C+、 Visual Basic、 Delphi等开发语言。 ADO的体系结构如下图所示。 12.6 ODBC数据库编程 ODBC是开放数据数据库互联标准协议,它是 Microsoft客户 /服务器环境下的数据访问标准。在 Win32环境下,用户可以使用 ODBC数据源管理器获得对数据库的访问权限。 12.6.1 设置 ODBC数据源 由于 Visual C+应用程序与创建数据库表的数据库管理系统是两个不同的操作平台,要实现应用程序对数据库的访问,就必须要

12、为数据库表选择适当的数据驱动程序,将 Visual C+环境中的对数据库的操作转化成数据库系统可理解的操作。为了实现这个转换, Windows系统向用户提供了一个极为简便的接口 ODBC数据源。 12.6.2 连接数据库 使用 ODBC驱动程序时,应用程序对掌握库的访问需要用到 MFC类中的 CDatabase和 CRecordset。其中,连接数据库时使用的是CDatabase类,对数据库中的记录进行操作时使用的是 CRecordset类。CDatabase类封装了建立数据库的连接、使用 SQL语句对数据库数据进行操作及事务处理 3个功能。 1建立数据库的连接 想要建立与数据源的连接,首先应

13、构造一个 CDatabase对象,然后再调用CDatabase的 Open成员函数。 Open函数的原型如下: lpszDSN:表示数据源名。 bExclusive:表示是否独占数据源。由于已连接的 ODBC数据源是被多用户共享的,因此该参数默认为 FALSE。 bReadOnly:设置数据库数据是否为只读数据。如果该参数为 TRUE,则数据库的数据为只读状态,用户不能对数据库的数据进行更新操作。 lpszConnect:表示连接数据源的字符串。该字符串包含数据源名、用户帐号( ID)和口令等信息。其中,字符串中的“ ODBC”表示要连接到一个 ODBC数据源上。 bUseCursorLib:

14、表示是否加载 ODBC光标库。如果为 TRUE,则会加载光标库,否则不会加载。其中,快照需要加载光标库,动态集不需要加载光标库。 使用 Open函数连接数据库时,如果连接成功,函数返回非 0,否则返回 0。 2使用 SQL命令操作数据库 想要使用 SQL命令操作数据库,可以使用 CDatabase类的ExecuteSQL()函数。该函数的原型如下: lpszSQL:表示指向字符串常量的指针或是字符串常量。该参数包含了有效的字符串命令。 【 示例 12-12】 使用 SQL命令查询数据库中内容。 3 CDBException类 在使用 CDatabase类对数据库进行操作时,如果产生异常情况,会

15、由CDBException类自动捕获异常。使用 CDBException类捕获异常时,一般使用如下形式: 12.6.3 记录集的建立和关闭 使用记录集对应的类 CRecordset可以对数据库表记录进行添加、删除、修改和查询等操作。想要使用 CRecordset类,首先需要建立数据库的连接,然后创建 CRecordset类的对象,最后使用 select命令打开动态记录集。 CRecordset类中的成员变量如下: m_hstmt:包含记录集 ODBC句柄。 m_nFields:包含记录集中的字段数量。 m_Params:包含记录信中参数数据成员的数量。 m_pDatabase:指向数据源的 CDatabase对象的指针。 m_strFilter:表示一个过滤器,用于选择符合条件的记录。在 select语句中起到 where子句的作用。 m_strSort:表示一个字段排序依据。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号