Visual_C++6.0数据库编程PPT

上传人:日度 文档编号:145146417 上传时间:2020-09-17 格式:PPT 页数:28 大小:53KB
返回 下载 相关 举报
Visual_C++6.0数据库编程PPT_第1页
第1页 / 共28页
Visual_C++6.0数据库编程PPT_第2页
第2页 / 共28页
Visual_C++6.0数据库编程PPT_第3页
第3页 / 共28页
Visual_C++6.0数据库编程PPT_第4页
第4页 / 共28页
Visual_C++6.0数据库编程PPT_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《Visual_C++6.0数据库编程PPT》由会员分享,可在线阅读,更多相关《Visual_C++6.0数据库编程PPT(28页珍藏版)》请在金锄头文库上搜索。

1、1,第12章 Visual C+6.0数据库编程,2,本节主要内容,数据库的访问和ODBC 使用ODBC创建数据库应用程序 使用ADO创建数据库应用程序,3,12.1 数据库的访问和ODBC,在使用Visual C+进行数据库编程之前,先简单介绍一些概念。,4,12.1.1 数据库、数据库模型和数据库管理系统,数据库 数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。 数据库具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。,5,数据库模型,现行的数据库模型主要有以下四种: 层次结

2、构模型 层次结构模型实质上是一种有根结点的定向有序树。按照层次模型建立的数据库系统称为层次模型数据库系统。 网状结构模型 按照网状数据结构建立的数据库系统称为网状数据库系统,用数学方法可将网状数据结构转化为层次数据结构。 关系结构模型 关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。由关系数据结构组成的数据库系统被称为关系数据库系统。 面向对象模型 随着信息技术和市场的发展,对数据处理技术也提出了更高要求,为了能够处理复杂对象数据就产生了面向对象数据模型。面向对象数据库是面向对象概念和数据库技术相结合产物。,6,数据库管理系统,数据库管理系统(DBMS)为用户提供对数

3、据库操作的各种命令、工具及方法,包括数据库的建立以及记录的输入、修改、检索、显示、删除和统计等。 常用的数据库系统有Access、mySQL、Sybase、SQL Server和Oracle等。这些DBMS 都提供了一个SQL 接口。,7,12.1.2 开放式数据库接口ODBC,ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部

4、分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。,8,开放式数据库接口ODBC(Con),一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。,9,开放式数据库接口ODBC(Con),一个完整的ODBC由下列几个部件组成: 1. 应用程序(Application)。 2. ODBC管理器(Administrator):主要任务是管理安装的ODBC驱动程序和管理数据源。 3. 驱动程序管理器(Driver Ma

5、nager):对用户是透明的。任务是管理ODBC驱动程序,是ODBC中最重要的部件。 4. ODBC API:包含在动态库中的一个函数集合、一个错误代码集合、一个标准的SQL语句集合,用来调用DBMS中的数据。 5. ODBC 驱动程序(Database drivers):是一些DLL,提供了ODBC和数据库之间的接口。 6. 数据源:数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。,10,开放式数据库接口ODBC(Con),应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODB

6、C与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。 在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。,11,12.1.3 MFC ODBC 技术,MFC的ODBC类对较复杂的ODBC API进行了封装,提供了简化的调用接口,从而大大方便了数据库应用程序的开发。,12,MFC ODBC 技术(Con),MFC 的ODBC 类主要包括如下5 类。 1. CDatabase类:主要功能是建立与数据源的连接,可以在整个应用程序中共享这些信息。 2. CRecordset类:代表从数据源选择的一组记录。CRe

7、cordset 类允许指定要运行的SQL查询,它将运行查询并维护自数据库返回的记录集。可以修改和更新记录,还可增加、删除记录,并将所做的变动反馈到该数据库中。 3. CRecordView类:提供了一个表单视图与某个记录集直接相连,利用对话框数据交换(DDX)机制在记录集与表单视图的控件之间传输数据。 4. CFieldExchange类:支持记录字段数据交换(DFX),即记录集字段数据成员与相应的数据库的标的字段之间的数据交换。 5. CDBException类:代表ODBC 类产生的异常。,13,12.2 使用ODBC创建数据库应用程序,本节将创建一个支持ODBC 数据库的SDI 应用程序

8、。该应用程序可以编辑、更新、添加和删除ODBC 数据库中的记录记录,并允许用户检索记录,以及对记录进行排序和查找。,14,12.2.1 连接数据库,在运行访问数据库的前台软件之前,要在控制面板上的ODBC数据源控制台中注册一下,为了方便起见,假定使用Access数据库,则可以通过以下步骤访问Access数据库。 1. 建立ODBC数据源 打开【控制面板】【管理工具】【数据源(ODBC)】,如图12.2所示。选择“系统DSN”选项卡,然后单击“添加”按钮,则弹出“创建新数据源”对话框,如图12.3所示,接着选择“Microsoft Access Driver(*.mdb)”就可以了。,15,连接

9、数据库(Con),2. 连接数据源 在选择了“Microsoft Access Driver(*.mdb)”并单击“完成”按钮后,将弹出“ODBC Microsoft Access 安装”对话框,如图12.4所示。需要为该数据源起一个简短的名称,应用程序将使用该名称来指定用于数据库连接的ODBC数据源配置,对于本例,给该数据源命名为student。然后将事先创建的用户数据源添加到ODBC数据源管理器的用户数据源列表中,以供在之后程序中使用,如图12.5所示。,16,12.2.2 建立应用程序,在本章的示例应用程序中,需要创建一个支持数据库的标准SDI 风格的应用程序。其过程如下: 1. 用MF

10、C AppWizard(exe)创建一个SDI 应用程序,工程名为DBOperation。 2. 在AppWizard第2步的对话框中,有两个选择项来支持数据库的访问,每种选择都会产生一个CRecordView类的派生类和一个文档类,文档类又分为没有文件支持的文档和有文件支持的文档,如图12.6所示。,17,建立应用程序(Con),3. 继续AppWizard的工作,保留各步默认设置。 4. 设计用来查看和编辑数据库记录的主窗体,如图12.9所示。 5. 显示数据。要在窗体上显示表中各字段的内容,只要在CDBOperationView: DoDataExchange函数中添加代码就可以了。,1

11、8,12.2.3 实现数据库基本操作,前面已经创建了一个数据库应用程序。但是,它还缺少某些对数据库中记录进行操作的基本功能,比如记录的添加、删除、修改、排序和查询等操作。接下来,分别介绍这些功能的实现。 1. 添加记录 为了能够在程序界面中实现添加、修改记录的功能,首先需要在CDBOperationView类中为6个EditBox控件添加相应的变量。这样,在控件中的所有改动都会在第一时间反映在各个与控件相关的变量中。 添加记录的步骤是:首先使用成员函数AddNew进入添加记录的模式,接着填写新记录的各个字段,然后使用Update函数实现真正的添加。,19,实现数据库基本操作(Con),2. 删

12、除记录 删除记录的步骤是:首先移动到需要删除的记录上,然后使用Delete函数就能删除该记录。记录一经删除,还应调用MoveNext 函数将指针移动到记录集的下一条记录。 为了实现删除记录的功能,需要在【记录】菜单中添加1个标题为“删除”,ID为ID_RECORD_DELETE的菜单项。然后,为删除记录的消息映射函数中添加代码。,20,实现数据库基本操作(Con),3. 更改记录 更改记录的步骤是:首先使用成员函数Edit进入更改记录的模式,接着修改当前的记录,然后使用Update函数实现真正的更改。 为了实现更改记录的功能,需要在【记录】菜单中添加1个标题为“更改”,ID为ID_RECORD

13、_UPDATE的菜单项。然后,为更改记录的消息映射函数中添加代码。,21,实现数据库基本操作(Con),4. 对记录排序 排序可以通过SQL语句的ORDER BY实现,在CRecordset类中有1个数据成员m_strSort,它封装了ORDER BY的功能,可以通过该成员的设置来实现排序。 为了实现排序功能,需要在【记录】菜单添加1个新的菜单项【排序】,该菜单为弹出式菜单,其下面由2个标题为“按编号”和“按年龄”,ID分别为ID_RECORD_SORTNO和ID_RECORD_SORTAGE的子菜单项构成,用于按编号和年龄进行升序排列。,22,实现数据库基本操作(Con),5. 查询记录 查

14、找可以通过SQL 语句的select语句实现,在CRecordset 类中有1个数据成员m_strFilter,其封装了select语句的功能,可以通过该成员的设置来实现查找。,23,12.3 使用ADO创建数据库应用程序,ADO是Microsoft 的数据库应用程序开发的接口,是建立在OLE DB 之上的高级数据库访问技术。ADO访问数据库是通过访问OLE DB数据提供程序来进行的,提供了一种对OLE DB数据提供程序的简单高层访问接口。ADO技术简化了OLE DB的操作,因为OLE DB的程序中使用了大量的COM接口,而ADO封装了这些接口。所以,ADO是一种高层的访问技术。,24,12.

15、3.1 ADO 对象模型,ADO 对象模型提供了7 种对象,分别是连接对象Connection、命令对象Command、记录集对象Recordset、参数对象Parameter、字段对象Field、错误对象Error和属性对象Property,其中前3个对象是ADO中最重要的。,25,12.3.2使用ADO对象创建数据库应用程序,用 ADO 开发数据库应用程序,有两种方法。 一种是使用ADO Data控件,这种方法简单,用户只需编写相对较少的代码,甚至不写一行代码,就可以实现对数据库的访问。其缺点是效率比较低,用户对程序的控制比较弱,不能充分发挥ADO 的强大功能。 另一种是直接使用ADO 对

16、象,这种方法可以非常灵活地控制程序的细节,而且效率、性能很高,可以充分发挥ADO 的特性。,26,使用ADO对象进行程序设计的方法,1. 生成应用程序框架并初始化OLE/COM库环境 2. 引入ADO库文件 3. 定义对象指针 4. 创建数据库连接 5. 打开记录集 6. 浏览记录集 7. 添加记录 8. 删除记录 9. 更改记录 10. 还原COM 环境以及关闭连接对象和记录集对象,27,12.3.3 ADO控件简介,1. ADO Data 控件 通过ADO Data 控件可以从数据库中获取数据记录集,但是要对记录集进行显示或其它操作需要通过其它的控件来实现。 2. DataGrid 控件 DataGrid 控件一般用来显示多条记录的详细内容。 3. DataList 控件和DataCombo 控件 它们的使用都要配合一个ADO Data控件返回的数据记录集才可以完成的。,28,本节小结,数据库、数据库模型和数据库管理系统 开放式数据库接口ODBC MFC ODBC 技术 连接数据库和建立应用程序 实现数据库基本操作 ADO 对象模型 使用ADO对象创建数据库应用程序 ADO控

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

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