Visual_C++6.0数据库编程ppt课件_第1页
Visual_C++6.0数据库编程ppt课件_第2页
Visual_C++6.0数据库编程ppt课件_第3页
Visual_C++6.0数据库编程ppt课件_第4页
Visual_C++6.0数据库编程ppt课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选,1,第12章VisualC+6.0数据库编程,精选,2,本节主要内容,数据库的访问和ODBC使用ODBC创建数据库应用程序使用ADO创建数据库应用程序,精选,3,12.1数据库的访问和ODBC,在使用VisualC+进行数据库编程之前,先简单介绍一些概念。,精选,4,12.1.1数据库、数据库模型和数据库管理系统,数据库数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。数据库具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。,精选,5,数据库模型,现行的数据库模型主要有以下四种:层次结构模型层次结构模型实质上是一种有根结点的定向有序树。按照层次模型建立的数据库系统称为层次模型数据库系统。网状结构模型按照网状数据结构建立的数据库系统称为网状数据库系统,用数学方法可将网状数据结构转化为层次数据结构。关系结构模型关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。由关系数据结构组成的数据库系统被称为关系数据库系统。面向对象模型随着信息技术和市场的发展,对数据处理技术也提出了更高要求,为了能够处理复杂对象数据就产生了面向对象数据模型。面向对象数据库是面向对象概念和数据库技术相结合产物。,精选,6,数据库管理系统,数据库管理系统(DBMS)为用户提供对数据库操作的各种命令、工具及方法,包括数据库的建立以及记录的输入、修改、检索、显示、删除和统计等。常用的数据库系统有Access、mySQL、Sybase、SQLServer和Oracle等。这些DBMS都提供了一个SQL接口。,精选,7,12.1.2开放式数据库接口ODBC,ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。,精选,8,开放式数据库接口ODBC(Con),一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。,精选,9,开放式数据库接口ODBC(Con),一个完整的ODBC由下列几个部件组成:1.应用程序(Application)。2.ODBC管理器(Administrator):主要任务是管理安装的ODBC驱动程序和管理数据源。3.驱动程序管理器(DriverManager):对用户是透明的。任务是管理ODBC驱动程序,是ODBC中最重要的部件。4.ODBCAPI:包含在动态库中的一个函数集合、一个错误代码集合、一个标准的SQL语句集合,用来调用DBMS中的数据。5.ODBC驱动程序(Databasedrivers):是一些DLL,提供了ODBC和数据库之间的接口。6.数据源:数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。,精选,10,开放式数据库接口ODBC(Con),应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。在ODBC中,ODBCAPI不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。,精选,11,12.1.3MFCODBC技术,MFC的ODBC类对较复杂的ODBCAPI进行了封装,提供了简化的调用接口,从而大大方便了数据库应用程序的开发。,精选,12,MFCODBC技术(Con),MFC的ODBC类主要包括如下5类。1.CDatabase类:主要功能是建立与数据源的连接,可以在整个应用程序中共享这些信息。2.CRecordset类:代表从数据源选择的一组记录。CRecordset类允许指定要运行的SQL查询,它将运行查询并维护自数据库返回的记录集。可以修改和更新记录,还可增加、删除记录,并将所做的变动反馈到该数据库中。3.CRecordView类:提供了一个表单视图与某个记录集直接相连,利用对话框数据交换(DDX)机制在记录集与表单视图的控件之间传输数据。4.CFieldExchange类:支持记录字段数据交换(DFX),即记录集字段数据成员与相应的数据库的标的字段之间的数据交换。5.CDBException类:代表ODBC类产生的异常。,精选,13,12.2使用ODBC创建数据库应用程序,本节将创建一个支持ODBC数据库的SDI应用程序。该应用程序可以编辑、更新、添加和删除ODBC数据库中的记录记录,并允许用户检索记录,以及对记录进行排序和查找。,精选,14,12.2.1连接数据库,在运行访问数据库的前台软件之前,要在控制面板上的ODBC数据源控制台中注册一下,为了方便起见,假定使用Access数据库,则可以通过以下步骤访问Access数据库。1.建立ODBC数据源打开【控制面板】【管理工具】【数据源(ODBC)】,如图12.2所示。选择“系统DSN”选项卡,然后单击“添加”按钮,则弹出“创建新数据源”对话框,如图12.3所示,接着选择“MicrosoftAccessDriver(*.mdb)”就可以了。,精选,15,连接数据库(Con),2.连接数据源在选择了“MicrosoftAccessDriver(*.mdb)”并单击“完成”按钮后,将弹出“ODBCMicrosoftAccess安装”对话框,如图12.4所示。需要为该数据源起一个简短的名称,应用程序将使用该名称来指定用于数据库连接的ODBC数据源配置,对于本例,给该数据源命名为student。然后将事先创建的用户数据源添加到ODBC数据源管理器的用户数据源列表中,以供在之后程序中使用,如图12.5所示。,精选,16,12.2.2建立应用程序,在本章的示例应用程序中,需要创建一个支持数据库的标准SDI风格的应用程序。其过程如下:1.用MFCAppWizard(exe)创建一个SDI应用程序,工程名为DBOperation。2.在AppWizard第2步的对话框中,有两个选择项来支持数据库的访问,每种选择都会产生一个CRecordView类的派生类和一个文档类,文档类又分为没有文件支持的文档和有文件支持的文档,如图12.6所示。,精选,17,建立应用程序(Con),3.继续AppWizard的工作,保留各步默认设置。4.设计用来查看和编辑数据库记录的主窗体,如图12.9所示。5.显示数据。要在窗体上显示表中各字段的内容,只要在CDBOperationView:DoDataExchange函数中添加代码就可以了。,精选,18,12.2.3实现数据库基本操作,前面已经创建了一个数据库应用程序。但是,它还缺少某些对数据库中记录进行操作的基本功能,比如记录的添加、删除、修改、排序和查询等操作。接下来,分别介绍这些功能的实现。1.添加记录为了能够在程序界面中实现添加、修改记录的功能,首先需要在CDBOperationView类中为6个EditBox控件添加相应的变量。这样,在控件中的所有改动都会在第一时间反映在各个与控件相关的变量中。添加记录的步骤是:首先使用成员函数AddNew进入添加记录的模式,接着填写新记录的各个字段,然后使用Update函数实现真正的添加。,精选,19,实现数据库基本操作(Con),2.删除记录删除记录的步骤是:首先移动到需要删除的记录上,然后使用Delete函数就能删除该记录。记录一经删除,还应调用MoveNext函数将指针移动到记录集的下一条记录。为了实现删除记录的功能,需要在【记录】菜单中添加1个标题为“删除”,ID为ID_RECORD_DELETE的菜单项。然后,为删除记录的消息映射函数中添加代码。,精选,20,实现数据库基本操作(Con),3.更改记录更改记录的步骤是:首先使用成员函数Edit进入更改记录的模式,接着修改当前的记录,然后使用Update函数实现真正的更改。为了实现更改记录的功能,需要在【记录】菜单中添加1个标题为“更改”,ID为ID_RECORD_UPDATE的菜单项。然后,为更改记录的消息映射函数中添加代码。,精选,21,实现数据库基本操作(Con),4.对记录排序排序可以通过SQL语句的ORDERBY实现,在CRecordset类中有1个数据成员m_strSort,它封装了ORDERBY的功能,可以通过该成员的设置来实现排序。为了实现排序功能,需要在【记录】菜单添加1个新的菜单项【排序】,该菜单为弹出式菜单,其下面由2个标题为“按编号”和“按年龄”,ID分别为ID_RECORD_SORTNO和ID_RECORD_SORTAGE的子菜单项构成,用于按编号和年龄进行升序排列。,精选,22,实现数据库基本操作(Con),5.查询记录查找可以通过SQL语句的select语句实现,在CRecordset类中有1个数据成员m_strFilter,其封装了select语句的功能,可以通过该成员的设置来实现查找。,精选,23,12.3使用ADO创建数据库应用程序,ADO是Microsoft的数据库应用程序开发的接口,是建立在OLEDB之上的高级数据库访问技术。ADO访问数据库是通过访问OLEDB数据提供程序来进行的,提供了一种对OLEDB数据提供程序的简单高层访问接口。ADO技术简化了OLEDB的操作,因为OLEDB的程序中使用了大量的COM接口,而ADO封装了这些接口。所以,ADO是一种高层的访问技术。,精选,24,12.3.1ADO对象模型,ADO对象模型提供了7种对象,分别是连接对象Connection、命令对象Command、记录集对象Recordset、参数对象Parameter、字段对象Field、错误对象Error和属性对象Property,其中前3个对象是ADO中最重要的。,精选,25,12.3.2使用ADO对象创建数据库应用程序,用ADO开发数据库应用程序,有两种方法。一种是使用ADOData控件,这种方法简单,用户只需编写相对较少的代码,甚至不写一行代码,就可以实现对数据库的访问。其缺点是效率比较低,用户对程序的控制比较弱,不能充分发挥ADO的强大功能。另一种是直接使用ADO对象,这种方法可以非常灵活地控制程序的细节,而且效率、性能很高,可以充分发挥ADO的特性。,精选,26,使用ADO对象进行程序设计的方法,1.生成应用程序框架并初始化OLE/COM库环境2.引入ADO库文件3.定义对象指针4.创建数据库连接5.打开记录集6.浏览记录集7.添加记录8.删除记录9.更改记录10.还原COM环境以及关闭连接对象和记录集对象,精选,27,12.3.3ADO控件简介,1.ADOData控件通过ADODat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论