《精编》数据库访问技术论述

上传人:tang****xu3 文档编号:133162888 上传时间:2020-05-24 格式:PPT 页数:54 大小:374KB
返回 下载 相关 举报
《精编》数据库访问技术论述_第1页
第1页 / 共54页
《精编》数据库访问技术论述_第2页
第2页 / 共54页
《精编》数据库访问技术论述_第3页
第3页 / 共54页
《精编》数据库访问技术论述_第4页
第4页 / 共54页
《精编》数据库访问技术论述_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《《精编》数据库访问技术论述》由会员分享,可在线阅读,更多相关《《精编》数据库访问技术论述(54页珍藏版)》请在金锄头文库上搜索。

1、数据库访问技术论述 生长 属性 名词 体积变大重量变重颜色变红 将具有相同数据特征和行为特征的所有的对象称为一个对象类 苹果类 警铃响了 摘 方法 主动动词 事件 被动动词 某一个苹果 对象 类是型的概念 对象是值得概念 某一个苹果树 苹果 某一个对象的属性可以是数值型 字符型 也可以是另一个对象 在下面的界面中有几个对象 数据库访问技术 JET与DAOODBC与RDOOLEDB与ADO JET与DAO JET JointEngineTechnology 数据连接引擎技术 1991年末或92年初 MS发布了ACCESS作为其Windows桌面数据库 ACCESS使用了JET数据库引擎 Micr

2、osoftJet数据库引擎 MicrosoftJetDatabaseEngine 一个数据库管理系统 它在用户及系统数据库中检索和存储数据 MicrosoftJet数据库引擎可以被视为数据管理器组件 通过它可构建其他数据访问系统 例如 MicrosoftAccess和MicrosoftVisualBasic MicrosoftJet数据库使用MicrosoftJet数据库引擎创建的数据库 MicrosoftJet数据库的文件扩展名是 mdb JET仅为ACCESS数据库服务 JET与DAO DAO DataAccessObject 数据访问对象在开发JET引擎时 在其上增加了一个对象层 叫做数

3、据访问对象 DAO DAO可以打开DataBase的连接 访问或创建表 对表执行SQL语句 ACCESS数据库 mdb 通过JET 应用程序使用DAO访问数据库 数据访问对象 DataAccessObjects 是一种面向对象的界面接口 通过DAO Jet功能可以访问ISAM 顺序索引查找方法 数据库 使用DAO的程序编码非常简单 DAO提供丰富的游标 Cursor 类型的结果集和非游标 CursorLess 类型的结果集 同DDL 数据描述语言 的功能很类似 DAO模型是设计关系数据库系统结构的对象类的集合 它们提供了完成管理这样一个系统所需的全部操作的属性和方法 包括创建数据库 定义表 字

4、段和索引 建立表间的关系 定位和查询数据库等工具 ODBC与RDO ODBC OpenDatabaseConnectivity 开放数据库互连MS意识到许多人都拥有后端的数据库 如Oracle DB2等 因此发布JET的同时也推出了一个数据访问层 ODBC 是MS建议并开发的数据库API标准 为异种数据库提供了统一的访问接口 屏蔽了不同DBMS的差异 使数据库应用系统不仅仅局限于某个DBMS ODBC的设计思想是允许从桌面到中等范围以及大型机上数据库的透明访问 ODBC与RDO RDO RemotDataObject 远程数据对象产生背景在应用程序在直接访问ODBC时 由于ODBC不是基于对象

5、的 主要是通过调用一些API ApplicationProgrammingInterface应用编程接口 访问后端数据库的 虽然ODBC的执行效率比DAO要快得多 但编程工作却非常困难 而且错误处理时也不友好 例如 完成如下的数据库操作 打开一个DataBase并修改一个Table使用DAO需要写5行代码使用ODBCAPI函数大概需要30行代码因此提出了RDO RDO RemotDataObject 远程数据对象是建立在ODBC之上的对象模型 提供如同DAO一样的易用性 同时又拥有几乎和ODBCAPI一样的速度 使用DAO ODBCDirect功能可以实现远程RDO功能 关系数据库 SQLSe

6、ver200 Oracle Access等 通过ODBC 应用程序使用RDO访问数据库 JET通知ODBC访问服务器数据库 数据库 DataBase ODBC允许JET或RDO访问服务器数据库 JET不能直接访问服务器 ACCESS JET可以直接访问ACCESS数据库 缺点 DAO与RDO只能处理后台为关系数据库的DBMS 不能解决通用数据存储及通用数据访问 例如 一个Email系统需要存储多媒体文件以及其他数据 比方说将一个Excel表格存储于该系统之中 DAO与RDO都不能访问 OLEDB与ADO OLEDB ObjectLinkingandEmbeddingforDataBase 数据

7、库对象链接和嵌入MS采用通用数据访问的方法 你自己保存数据 我们给你提供一种方法来访问这些数据 实际上就是一种进行关系型数据和非关系型数据一样的技术 OLEDB定义 MS提供一种对各类应用程序均适用的 采用ODBC接口 通过结构化查询语言SQL对数据库进行访问操作的总体解决方案 设计目的 为了给多种多样的应用程序提供优化功能 OLEDB与ADO ADO ActiveXDataObject ActiveX数据对象OLEDB和ODBC一样是一种底层的API 其上层对象模型是ADO ADO几乎兼容所用的数据库系统 定义一种数据访问接口 可与符合OLEDB的数据源通信 以连接 检索 操作和更新数据 优

8、点 与DAO和RDO相比 模型非常小不是层次式结构 每个主要对象都可以独立创建 什么是层次式结构 Excel中把一个数放进一个单元格 不能仅创建单元格 需要创建一个工作表 工作表需要一个工作簿 工作簿又在Excel程序中 因此存储一个数据 必须先创建一个Excel对象 在访问 应用系统 ADO OLEDB 游标引擎 查询引擎 Shape引擎 OLEDB 电子表格 ODBCSQL ISAM 目录服务 文件系统 数据使用者 由OLEDB提供的服务 数据提供者 JET通知ODBC访问服务器数据库 数据库 DataBase ODBC允许JET或RDO访问服务器数据库 OLEDB可以使用ODBC或自身提

9、供的方法访问数据库 ACCESS JET可以直接访问ACCESS数据库 ADO对象的组成 七个对象 Connection Command Parameter Recordset Field Property Error 四个集合 Fields Properties Parameters Errors Connection对象 Connection对象 连接对象 是ADO的首要对象 它建立与数据源的连接 管理程序对数据的一切操作 对数据源的任何操作都需要建立一个Connection对象 因此Connection对象是ADO的基础 主要功能 Connection对象提供与包含路径 口令和连接选项的

10、数据源的链接 声明 通常声明为全局变量DimcnAsNewADODB Connection Connection属性 1 ConnectionString属性包含用于建立连接数据源的信息 ConnectionString用多项 设置项 值 的方式来设定与数据源的连接 每个项之间用分号隔开 对于连接字符串的写法 精确固定的语法是没有的 因为不同类型数据库 有各自的设置项 例如 指定1个OLEDB连接 连接字符串可写为 cn ConnectionString Provider SQLOLEDB 1 Password sa PersistSecurityInfo True UserID sa Ini

11、tialCatalog library DataSource SERVER01 SHU03 2 ConnectionTimeout属性设置连接时的最长等待时间 缺省为15秒 超时还未连接成功的话 中止连接 并返回出错信息 Connection属性 Connection方法 1 Open方法 建立与数据源的物理连接 格式 connection Open ConnectionString UserID Password Options 注意 该方法是使Connection获得初始化的方法 只有使用了该方法 Connection对象才真正在内存中存在 后面的参数都是可选参数 最简单如 cn Open

12、但如果这样则需要预先设置好ConnectionString等参数 两种方式打开连接 第一种 先为ConnectionString赋值cn ConnectionString Provider SQLOLEDB 1 Password sa PersistSecurityInfo True UserID sa InitialCatalog library DataSource SERVER01 SHU03 cn Open第二种 直接Opencn Open Provider SQLOLEDB 1 Password sa PersistSecurityInfo True UserID sa Initia

13、lCatalog library DataSource SERVER01 SHU03 Connection方法 2 Close方法 关闭1个数据连接对象 使该连接对象只留在本机内存中 可对其属性更改后再重新建立连接 注意 如果不是关闭对象 而是将对象从内存中清除 应使用Setconnection对象变量 Nothing Setcn Nothing Connection方法 3 Execute方法 执行1个SQL查询 既可是选择查询 也可是动作查询 如 Setrst cn Execute select FromstudentwhereSnamelike 张 但要注意 使用Connection对象

14、的Execute方法返回的游标类型是最基本的只能读和只能向前移动的游标adOpenForwardOnly 因此 如果该方法执行一个选择查询返回一个记录集时特别要明白 Recordset对象 Recordset对象 记录集对象 用来管理某个查询返回的记录集以及记录集中的游标 声明 对每一个需要操作的查询结构可以声明一个Recordset对象DimcnAsNewADODB Recordset Recordset属性 1 CursorType属性 游标类型 AdOpenForwardOnly 仅向前游标 默认值 除了只能在记录中向前滚动外 与静态游标相同 当只需要在记录集中单向移动时 使用它可提高性

15、能 顾名思义 这种游标只能向前移动 AdOpenKeyset 键集游标 从你自己的记录集不能访问其他用户删除的记录 无法查看其他用户添加的记录 但仍然可以看见其他用户更改的数据 KeySet游标允许你看见自它创建起其他用户所做的修改 然而你却不能看到其他用户增加或删除的记录 AdOpenDynamic 动态游标 Dynamic游标可以看到他们保存记录集合的所有变化 使用Dynamic游标的用户可以看到其他用户所做的编辑 增加 删除 如果数据提供者允许这种类型的游标 那么它是通过每隔一段时间从数据源重取数据来支持这种可视性的 毫无疑问这会需要很多的资源 此类型的游标功能强大同时也是耗费系统资源最

16、多的游标 AdOpenStatic 静态游标 可以用来查找数据或生成报告的记录集合的静态副本 另外 对其他用户所作的添加 更改或删除不可见 Static类游标只是数据的一幅快照 这就是说 它无法看到自它创建以后其他用户对RecordSet所做的修改 采用这类游标你可以向前和向后航行 由于其功能简单 资源的需求比Dynamic要小 需要注意的是 一旦打开RecordSet 你就无法改变CursorType属性 但是 如果你首先关闭RecordSet 改变CursorType属性 然后重新打开RecordSet 那么你仍可以有效地改变游标的类型 Recordset属性 2 LockType属性在任何同时可被多用户修改的数据库应用程序中 你必须处理可能发生的多个用户同时对同一条记录进行操作时的情况 当这种情况出现时 数据的完整性就会受到威胁 这是因为一个用户可能会在不自觉地在保存自己所做的修改时覆盖他人的修改 到时候你会觉得自己好象是没有做事 为了处理这种情况 ADO允许你在对RecordSet对象进行更新时决定并发事件控制的类型 当一个用户编辑时 如何由他对记录进行锁定 这就是由LockT

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

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

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