《数据库编程》PPT课件.ppt
《《数据库编程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库编程》PPT课件.ppt(106页珍藏版)》请在三一办公上搜索。
1、第9章 数据库编程,学习目标 本章要点上机练习 习 题,学习目标,管理数据库是计算机的主要用途之一,尤其是商业应用软件基本上都有数据库交互功能。在Visual C+6.0中,用户可以选择使用开放数据连接(ODBC)、数据访问对象(DAO)、OLE DB或ActiveX数据对象(ADO)方式来访问数据库,MFC中也提供了数据库类可以使用户方便地进行数据库操作。本章主要以MFC ODBC访问方式作为对象来学习数据库编辑。,本章要点,常见数据库访问技术简介ODBC简介建立数据源在ODBC数据源管理器中添加ODBC数据库源应用实例,常见数据库访问技术简介,Visual C+提供了多种多样的数据库访问技
2、术ODBC API、MFC ODBC、DAO、OLE DB、ADO等。这些技术各有自己的特点,它们提供了简单、灵活、访问速度快、可扩展性好的开发技术。,常见数据库访问技术简介,Visual C+开发数据库技术的特点Visual C+常用开发数据库技术,Visual C+开发数据库技术的特点,Visual C+在开发数据库技术方面主要有以下几个特点。简单性 灵活性访问速度快 可扩展性 访问不同种类数据源,简单性,Visual C+中提供了MFC类库、ATL模板类以及AppWizard、ClassWizard等一系列的Wizard工具,用于帮助用户快速地建立自己的应用程序,大大简化了应用程序的设计
3、。使用这些技术,可以使开发者编写很少的代码或不需编写代码就可以开发一个数据库应用程序。,灵活性,Visual C+提供的开发环境可以使开发者根据自己的需要设计应用程序的界面和功能,而且,Visual C+提供了丰富的类库和方法,可以使开发者根据自己的应用特点进行选择。,访问速度快,为了解决ODBC开发的数据库应用程序访问数据库速度慢的问题,Visual C+提供了新的访问技术OLE DB和ADO。OLE DB和ADO都是基于COM接口的技术,使用这种技术可以直接对数据库的驱动程序进行访问,大大提高了访问速度。,可扩展性,Visual C+提供了OLE技术和ActiveX技术,这种技术可以增强应
4、用程序的能力。使用OLE技术和ActiveX技术可以使开发者利用Visual C+中提供的各种组件、控件以及第三方开发者提供的组件来创建自己的程序,从而实现应用程序的组件化。使用这种技术可以使应用程序具有良好的可扩展性。,访问不同种类数据源,传统的ODBC技术只能访问关系型数据库,在Visual C+中,提供了OLE DB访问技术,它不仅可以访问关系型数据库,还可以访问非关系型数据库。,Visual C+常用开发数据库技术,Visual C+提供了多种访问数据库的技术,主要有:ODBC(Open DataBase Connectivity)MFC ODBC(Microsoft Foundati
5、on Classes ODBC)DAO(Data Access Object)OLE DB(Object Link and Embedding DataBase)ADO(ActiveX Data Object),Visual C+常用开发数据库技术,这些技术各有自己的特点,下面分别对这些技术进行介绍。ODBCMFC ODBCDAO OLE DB ADO,ODBC,ODBC是客户应用程序访问关系数据库时提供的一个统一的接口,对于不同的数据库,ODBC提供了一套统一的API,使应用程序可以通过API来访问任何提供了ODBC驱动程序的数据库。,ODBC,ODBC是一种底层的访问技术,因此,ODBC
6、API可以使用户应用程序能够从底层设置和控制数据库,完成一些高层数据库技术无法完成的功能。,MFC ODBC,由于直接使用ODBC API编写应用程序要编制大量代码,在Visual C+中提供了MFC ODBC类,封装了ODBC API,这使得利用MFC来创建ODBC应用程序非常简便。,DAO,DAO提供了一种通过程序代码创建和操纵数据库的机制。多个DAO构成一个体系结构,在这个结构中,各个DAO对象协同工作。MFC DAO是Microsoft公司提供的用于访问Microsoft Jet数据库文件(*.mdb)的强有力的数据库开发工具,它通过DAO的封装,向编程人员提供了DAO丰富的操作数据库
7、方法。,OLE DB,OLE DB是Visual C+开发数据库应用中提供的新技术,它基于COM接口。因此,OLE DB对所有的文件系统包括关系数据库和非关系数据库都提供了统一的接口。这些特点使得OLE DB技术比传统的数据库访问技术更加优越。,OLE DB,与ODBC技术相似,OLE DB属于数据库访问技术中的底层接口。直接使用OLE DB来设计数据库应用程序需要大量的代码,因此在Vicual C+中提供了ATL模板,用于设计OLE DB数据应用程序和数据提供程序。,ADO,ADO技术是基于OLE DB的访问接口,它继承了OLE DB技术的优点,并且ADO对OLE DB的接口作了封装,定义了
8、ADO对象,使程序开发得到简化,ADO技术属于数据库访问的高层接口。,ODBC简介,ODBC概述 ODBC组成,ODBC概述,ODBC是Open Database Connectivity的缩写,意思为“开放数据库链接”。ODBC是使用最广泛的Windows应用程序数据库接口。ODBC为不同的数据库资源提供标准的接口,可以使用与数据库管理系统(DBMS)的类型无关的方式访问数据库。,ODBC概述,一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。,ODBC概述,Microsoft推出的ODBC技术为数据库
9、的访问提供了统一的接口。ODBC基于SQL(Structured Query Language),并把它作为访问数据库的标准。这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供相应的驱动程序。,ODBC概述,ODBC的灵活性表现在以下几个方面:应用程序不会受制于某种专用的API。SQL语句以源代码的方式直接嵌入在应用程序中。应用程序可以以自己的格式接收和发送数据。ODBC的设计完全和ISO Call-Level Interface兼容。,ODB
10、C概述,现在的ODBC数据库驱动程序支持55家公司的数据产品。Visual C+6.0中已经提供了对ODBC3.51的支持,用户可以使用其API函数进行操作。,ODBC组成,ODBC包含了几部分,包括ODBC API、ODBC驱动程序、ODBC驱动管理器、ODBC光标库和ODBC管理器等。一个完整的ODBC由下列几个部分组成:应用程序(Application)。,ODBC组成,ODBC管理器(Administrator):位于Windows 95控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和数据源。,ODBC组成,驱动程序管理器(Driver
11、 Manager):包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。ODBC API。,ODBC组成,ODBC 驱动程序:是一些DLL,提供了ODBC和数据库之间的接口。数据源:包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象体现。,ODBC组成结构图,建立数据源,应用程序要访问一个数据库时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。,建立数据源
12、,数据源包含用户将要访问的数据和相关的DBMS及DBMS运行的平台。如果需要通过网络访问数据,还应当包含访问平台的网络。用户不必了解资源的详细信息,只需要通过资源名称即可访问数据。下面为后面的ODBC应用建立一个名为“addressbook”的Access数据库。,在ODBC数据源管理器中添加ODBC数据库源,ODBC应用程序是连接在ODBC数据源上的。本机的数据源可以使用控制面板中ODBC数据源管理器进行配置。下面将刚建立的“addressbook”数据库添加到ODBC数据源管理器中。,与ODBC数据库相关的MFC类,MFC向用户提供了丰富的数据库操作类,便于对数据库的连接和操作,下面介绍几
13、种常见的数据库类。CDatabase类 CRecordset类 CRecordView类,CDatabase类,CDatabase类主要用于对数据库的连接,应用程序通过此连接访问数据源。CDatabase类常用的成员函数有OpenEx()、OpenEx()等,下面分别进行讲解。OpenEx函数 OpenEx,CDatabase类,Close函数 GetConnect函数 GetDatabaseName函数 IsOpen函数 CanUpdate函数 CanTransact函数,OpenEx函数,OpenEx函数用来打开连接,函数原形为:virtual BOOL OpenEx(LPCTSTR lp
14、szConnectString,DWORD dwOptions=0);throw(CDBException,CMemoryException);参数lpszConnectString为ODBC连接字符串,包含数据源名称及可选信息,如用户ID,数据库密码等。如果使用了NULL,将打开“DataSource”对话框,要求用户选择数据源。,OpenEx函数,参数dwOptions为数据的打开方式,其可能的取值为:CDatabase:openReadOnly:只读方式打开CDatabase:useCursorLib:装载ODBC光标库。装入光标库后,光标将屏蔽dynasets功能。CDatabase:
15、noOdbcDialog:不显示ODBC连接对话框。,OpenEx函数,CDatabase:forceOdbcDialog:总是显示ODBC连接对话框。在默认情况下,dwOptions=0,使用可写的共享方式打开,不装载光标库,在连接信息不足以建立连接的情况下打开连接对话框。如果数据源连接成功,函数返回非0值。,OpenEx,Open函数与OpenEx函数功能雷同,可通过调用OpenEx函数实现,与OpenEx函数只是外观的不同,其函数原形为:virtual BOOL Open(LPCTSTR lpszDSN,BOOL bExclusive=FALSE,BOOL bReadOnly=FALSE
16、,LPCTSTR lpszConnect=”ODBC”,BOOL bUseCursorLib=TRUE);throw(CDBException,CMemoryException);,OpenEx,其中,各部分的含义如下:参数lpszDSN为数据源名称;参数bExclusive必须为FALSE;参数bReadOnly规定连接是否是只读的;,OpenEx,参数lpszConnect为连接字符串,字符串必须以ODBC开始。如果参数lpszConnect中已经标识了数据源名称,则lpszDSN=NULL;参数bUseCursorLib指定是否装载光标库。,Close函数,Close函数用于关闭数据源连
17、接,函数原形为:virtual void Close();,GetConnect函数,GetConnect函数用于返回连接CDatabase对象和数据源的ODBC连接字符串,函数原形为:const String,GetDatabaseName函数,GetDatabaseName函数用于返回正在使用的数据库名称,函数原形为:CString GetDatabaseName();,IsOpen函数,IsOpen函数用于得到CDatabase对象是否正在与数据源连接的信息,函数原形为:BOOL IsOpen();,CanUpdate函数,CanUpdate函数用于得到CDatabase对象是否被更新,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库编程 数据库 编程 PPT 课件
链接地址:https://www.31ppt.com/p-5519553.html