ADO数据库编程应用.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《ADO数据库编程应用.pdf》由会员分享,可在线阅读,更多相关《ADO数据库编程应用.pdf(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1ADO数据库访问技术应用数据库访问技术应用2ADO数据库访问技术应用数据库访问技术应用目标目标:了解VC+开发数据库各种技术特点。掌握ADO对数据库的应用。掌握特殊数据类型间的相互转换。时间:学时教学方法:讲授PPT+案例分析+上机练习+讲评31 概述概述(1/5)现代软件开发中,数据库技术存在着广泛的应用,项目中有大量数据需存储时,通常使用数据库来存储这些数据。早期的厂商在推出数据库产品,相应的会为程序员提供一套针对该数据库的访问接口,不同的厂商提供不同的接口,这样就加大了数据库软件开发的难度。后来微软在自己的Windows平台下推出了一些标准的数据库访问技术。(大有一统数据库接口的“野心
2、”)41 概述概述(2/5)微软推出的标准数据库访问技术ODBC(Open DataBase Connectivity)MFC ODBC(Microsoft Foundation Classes ODBC)DAO(Data Access Object)OLE DB(Object Link and Embedding DataBase)ADO(ActiveX Data Object)这些技术各有自己的特点51 概述概述(3/5)ODBC(Open DataBase Connectivity,开放数据库互联)20世纪80年代末90年代初出现的技术向程序员提供了统一的编程接口只能访问关系型数据库MF
3、C ODBC封装了ODBC API使得ODBC更容易被使用客户程序ODBC驱动程序管理器ODBC驱动程序关系型数据库61 概述概述(4/5)DAO(Data Access Object)微软的第一个面向对象的数据库接口用于访问Microsoft Jet数据库文件(Access文件)OLE DB(Object Link and Embedding DataBase)包含两个基本结构Provider 和 Consumer访问多种类型的数据库关系型数据库非关系型数据库比如电子表格、文本文件OLE DB用户程序(Consumer)OLE DB提供程序(provider)ODBCDB电子表格非关系型OD
4、BCDBODBC71 概述概述(5/5)ADO(ActiveX Data Object,Active 数据对象)基于COM技术、以OLE DB为基础面向对象与编程语言无关使用简单可以访问几乎任何一种数据源ADO.net起源于ADO.net编程中优先使用提供对关系数据的简单访问功能支持多层应用程序集成xml支持OLE DB用户程序(Consumer)OLE DB提供程序(provider)ODBCDB电子表格非关系型ODBCDBODBCADO直接用OLE DB使用使用ADO的用户程的用户程82 ADO的结构体系(的结构体系(1/2)概述基于COM技术的ActiveX组件以OLE DB为基础,是O
5、LE DB用户程序简化了对OLE DB访问VC、VB、脚本语言均可使用属于数据库访问的高层接口OLE DB用户程序(Consumer)OLE DB提供程序(provider)ODBCDB电子表格非关系型ODBCDBODBCADO直接用OLE DB使用使用ADO的用户程的用户程92 ADO的结构体系(的结构体系(2/2)ADO模型对象ADO给编程者提供了9个对象1.连接(Connection)2.命令(Command)3.记录集(Recordset)4.字段(Field)5.参数(Parameter)6.错误(Error)7.属性(Property)8.集合(aggregate)9.事件(eve
6、nt)对象之间的关系对象之间的关系常用的3个核心对象103 基于基于ADO的软件开发(的软件开发(1/13)3.1 ADO的使用方法程序中使用ADO对象来访问数据库程序员了解了ADO的属性、方法、事件就可快速开发程序常用的3个核心对象Connection对象、Command对象和Recordset对象使用使用ADO的用户程序的用户程序ADO数据库属性方法事件_ConnectionPtr_CommandPtr_RecordsetPtr113 基于基于ADO的软件开发(的软件开发(2/13)3.2 3个核心对象Connection对象表示到数据库的连接,通过此连接,可以对一个数据库进行访问和操作。
7、Command对象用来处理重复执行的查询Recordset对象用来获取数据库中的数据,Recordset对象存放查询结果,这些结果由数据的行(称为记录)和列(称为字段)组成。每一列都存放在Recordset的Fields集合的Field对象中。123 基于基于ADO的软件开发(的软件开发(3/13)3.3 Connection对象(属性)属性属性描述描述Attributes设置或返回 Connection 对象的属性。CommandTimeout指示在终止尝试和产生错误之前执行命令期间需等待的时间。ConnectionString设置或返回用于建立连接数据源的细节信息。ConnectionTi
8、meout指示在终止尝试和产生错误前建立连接期间所等待的时间。CursorLocation设置或返回游标服务的位置。DefaultDatabase指示 Connection 对象的默认数据库。IsolationLevel指示 Connection 对象的隔离级别。Mode设置或返回 provider 的访问权限。Provider设置或返回 Connection 对象提供者的名称。StateState返回一个描述连接是打开还是关闭的值。返回一个描述连接是打开还是关闭的值。Version返回 ADO 的版本号。133 基于基于ADO的软件开发(的软件开发(4/13)方法方法描述描述Registra
9、nts开始一个新事务。Cancel取消一次执行。Close关闭一个连接。关闭一个连接。Committals保存任何更改并结束当前事务。Execute执行查询、执行查询、SQL 语句、存储过程或语句、存储过程或 provider 具体文本。具体文本。Open打开一个连接。打开一个连接。Open Schema 从 provider 返回有关数据源的 schema 信息。RollbackTrans 取消当前事务中所作的任何更改并结束事务。3.3 Connection对象(方法)143 基于基于ADO的软件开发(的软件开发(5/13)3.3 Connection对象(事件)事件描述BeginTrans
10、Complete在 BeginTrans 操作之后被触发。CommitTransComplete在 CommitTrans 操作之后被触发。ConnectComplete在一个连接开始后被触发。Disconnect在一个连接结束之后被触发。ExecuteComplete在一条命令执行完毕后被触发。InfoMessage假如在一个 ConnectionEvent 操作过程中警告发生,则触发该事件。RollbackTransComplete在 RollbackTrans 操作之后被触发。WillConnect在一个连接开始之前被触发。WillExecute在一条命令被执行之前被触发。153 基于基
11、于ADO的软件开发(的软件开发(6/13)3.4 Command对象(属性)属性属性描述描述ActiveConnection设置或返回包含了定义连接或 Connection 对象的字符串。CommandText设置或返回包含提供者(provider)命令(如 SOL 语句、表格名称或存储的过程调用)的字符串值。默认值为(零长度字符串)。CommandTimeout设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默认值为 30。CommandType设置或返回一个 Command 对象的类型Name设置或返回一个 Command 对象的名称Prepared指示执行前是否保存命令的编译
12、版本(已经准备好的版本)。State返回一个值,此值可描述该 Command 对象处于打开、关闭、连接、执行还是取回数据的状态。163 基于基于ADO的软件开发(的软件开发(7/13)方法方法描述描述Cancel取消一个方法的一次执行。CreateParameter创建一个新的 Parameter 对象Execute执行执行 CommandText 属性中的查询、属性中的查询、SQL 语句或存储过程。语句或存储过程。3.4 Command对象(方法)173 基于基于ADO的软件开发(的软件开发(8/13)3.4 Recordset对象(属性)属性属性描述描述AbsolutePage设置或返回一
13、个可指定 Recordset 对象中页码的值。AbsolutePosition设置或返回一个值,此值可指定 Recordset 对象中当前记录的顺序位置(序号位置)。ActiveCommand返回与 Recordset 对象相关联的 Command 对象。ActiveConnection如果连接被关闭,设置或返回连接的定义,如果连接打开,设置或返回当前的 Connection 对象。BOF如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。Bookmark设置或返回一个书签。此书签保存当前记录的位置。CacheSize设置或返回能够被缓存的记录的数目。CursorLoc
14、ation设置或返回游标服务的位置。CursorType设置或返回一个 Recordset 对象的游标类型。DataMember设置或返回要从 DataSource 属性所引用的对象中检索的数据成员的名称。DataSource指定一个包含要被表示为 Recordset 对象的数据的对象。183 基于基于ADO的软件开发(的软件开发(9/13)3.4 Recordset对象(属性)属性属性描述描述EditMode返回当前记录的编辑状态。EOF如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。Filter返回一个针对 Recordset 对象中数据的过滤器。Index设置
15、或返回 Recordset 对象的当前索引的名称。LockType设置或返回当编辑 Recordset 中的一条记录时,可指定锁定类型的值。MarshalOptions设置或返回一个值,此值指定哪些记录被返回服务器。MaxRecords设置或返回从一个查询返回 Recordset 对象的的最大记录数目。PageCount返回一个 Recordset 对象中的数据页数。PageSize设置或返回 Recordset 对象的一个单一页面上所允许的最大记录数。RecordCount返回一个 Recordset 对象中的记录数目。Sort设置或返回一个或多个作为 Recordset 排序基准的字段名。
16、193 基于基于ADO的软件开发(的软件开发(10/13)3.4 Recordset对象(属性)属性属性描述描述Source设置一个字符串值,或一个 Command 对象引用,或返回一个字符串值,此值可指示 Recordset 对象的数据源。State返回一个值,此值可描述是否 Recordset 对象是打开、关闭、正在连接、正在执行或正在取回数据。Status返回有关批更新或其他大量操作的当前记录的状态。StayInSync设置或返回当父记录位置改变时对子记录的引用是否改变。203 基于基于ADO的软件开发(的软件开发(11/13)3.4 Recordset对象(方法)方法方法描述描述Add
17、New创建一条新记录。Cancel撤销一次执行。CancelBatch撤销一次批更新。CancelUpdate撤销对 Recordset 对象的一条记录所做的更改。Clone创建一个已有 Recordset 的副本。Close关闭一个 Recordset。CompareBookmarks比较两个书签。Delete删除一条记录或一组记录。Find搜索一个 Recordset 中满足指定某个条件的一条记录。GetRows把多条记录从一个 Recordset 对象中拷贝到一个二维数组中。GetString将 Recordset 作为字符串返回。Move在 Recordset 对象中移动记录指针。21
18、3 基于基于ADO的软件开发(的软件开发(12/13)3.4 Recordset对象(方法)方法方法描述描述MoveFirst把记录指针移动到第一条记录。MoveLast把记录指针移动到最后一条记录。MoveNext把记录指针移动到下一条记录。MovePrevious把记录指针移动到上一条记录。NextRecordset通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。Open打开一个数据库元素,此元素可提供对表的记录、查询的结果或保存的Recordset 的访问。Requery通过重新执行对象所基于的查询来更新 Recordset 对象中的数据。Resyn
19、c从原始数据库刷新当前 Recordset 中的数据。Save把 Recordset 对象保存到 file 或 Stream 对象中。Seek搜索 Recordset 的索引以快速定位与指定的值相匹配的行,并使其成为当前行。Supports返回一个布尔值,此值可定义 Recordset 对象是否支持特定类型的功能。Update保存所有对 Recordset 对象中的一条单一记录所做的更改。UpdateBatch把所有 Recordset 中的更改存入数据库。请在批更新模式中使用。223 基于基于ADO的软件开发(的软件开发(13/13)3.4 Recordset对象(事件)事件事件描述描述En
20、dOfRecordset当试图移动到超过 Recordset 结尾的行时被触发。FetchComplete当异步操作中的所有记录均被读取后被触发。FetchProgress在异步操作期间被定期地触发,报告已读取多少记录。FieldChangeCompleteField 对象的值更改被触发。MoveCompleteRecordset 中的当前位置更改后被触发。RecordChangeComplete一条记录更改之后被触发。RecordsetChangeComplete在 Recordset 更改之后被触发。WillChangeField在 Field 对象的值更改之前被触发WillChangeR
21、ecord在一条记录更改之前被触发。WillChangeRecordset在 Recordset 更改之前被触发。WillMove在 Recordset 中的当前位置更改之前被触发。234 Visual C+中使用中使用ADO4.1 VC+使用ADO的步骤:引入ADO ActiveX控件通过核心对象来操作数据库ADO编程开始引入ADO ActiveX控件通过核心对象操作数据库ADO编程结束ADO由于使用了COM技术,编程变得相对复杂。242项重要的工作4 Visual C+中使用中使用ADO4.2 引入ADO ActiveX控件引入msado*.dllCOM初始化ADO编程开始引入ADO Ac
22、tiveX控件通过核心对象操作数据库ADO编程结束引入msado*.dllCOM初始化254 Visual C+中使用中使用ADO4.2 引入ADO ActiveX控件引入msado*.dllMFC并没有提供对ADO的封装类,要使用ADO,只能使用ADO的动态链接库文件msado*.dll(*代表ADO的版本)引入msado*.dll的方法:在“stdAfx.h”中加入下面的语句:/stdAfx.h#import c:program filescommon filessystemadomsado15.dll no_namespace rename(EOF,adoEOF)/注意:不可放在stdA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADO 数据库 编程 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内