数据库访问技术论述PPT课件( 56页)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AdOpenForwardOnly: 仅向前游标,默认值。
除了只能在记录中向前滚动外,与静态游标相同。 当只需要在记录集中单向移动时,使用它可提高性能。 顾名思义,这种游标只能向前移动。
AdOpenKeyset: 键集游标。
从你自己的记录集不能访问其他用户删除的记录,无 法查看其他用户添加的记录,但仍然可以看见其他用 户更改的数据。
定义
一种数据访问接口,可与符合 OLE DB 的数据源通信, 以连接、检索、操作和更新数据。
优点:
与DAO和RDO相比,模型非常小 不是层次式结构,每个主要对象都可以独立创建。
什么是层次式结构?
Excel中把一个数放进一个单元格,不能仅创 建单元格,需要创建一个工作表,工作表需 要一个工作簿,工作簿又在Excel程序中,因 此存储一个数据,必须先创建一个Excel对象, 在访问。
ODBC允许JET或 RDO访问服务器数 据库
数据库 (DataBase)
缺点
DAO与RDO只能处理后台为关系数据库的DBMS, 不能解决通用数据存储及通用数据访问。
例如:一个Email系统需要存储多媒体文件以及其 他数据,比方说将一个Excel表格存储于该系统之 中, DAO与RDO都不能访问。
MS提供一种对各类应用程序均适用的,采用ODBC接 口,通过结构化查询语言SQL对数据库进行访问操作 的总体解决方案。
设计目的:
为了给多种多样的应用程序提供优化功能
OLE DB与ADO
ADO(ActiveX Data Object) ActiveX 数据 对象
OLE DB和ODBC一样是一种底层的API,其上层 对象模型是ADO。ADO几乎兼容所用的数据库系 统。
Connection方法
2 、 Close方法:
关闭1个数据连接对象,使该连接对象只留在本 机内存中,可对其属性更改后再重新建立连接。
注意:如果不是关闭对象,而是将对象从内 存中清除,应使用 Set connection对象变量 =Nothing.
Set cn = Nothing
Connection方法
Initial Catalog=library; Data Source=SERVER01\SHU03"
Connection属性
2、ConnectionTimeout 属性
设置连接时的最长等待时间,缺省为15秒,超时 还未连接成功的话,中止连接,并返回出错信息。
Connection方法
1 、 Open方法:
两种方式打开连接
第一种,先为ConnectionString赋值
cn.ConnectionString = "Provider=SQLOLEDB.1; Password=sa;
Persist Security Info=True; User ID=sa; Initial Catalog=library;
KeySet游标允许你看见自它创建起其他用户所做的修 改,然而你却不能看到其他用户增加或删除的记录。
AdOpenDynamic :动态游标。
Dynamic游标可以看到他们保存记录集合的所有变化。 使用Dynamic游标的用户可以看到其他用户所做的编
辑、增加、删除。
如果数据提供者允许这种类型的游标,那么它是通过每 隔一段时间从数据源重取数据来支持这种可视性的。毫 无疑问这会需要很多的资源。
主要功能:
Connection对象提供与包含路径,口令和连接 选项的数据源的链接;
声明:通常声明为全局变量
Dim cn As New ADODB.Connection
Connection属性
1、ConnectionString 属性
包含用于建立连接数据源的信息。 ConnectionString用多项“设置项=值”的方式来设定
ODBC的设计思想
是允许从桌面到中等范围以及大型机上数据库的透明 访问。
ODBC与RDO
RDO(Remot Data Object)远程数据对象
产生背景
在应用程序在直接访问ODBC时,由于ODBC不是基 于对象的,主要是通过调用一些API( Application Programming Interface 应用编程接口)访问后端数 据库的,虽然ODBC的执行效率比DAO要快得多,但 编程工作却非常困难,而且错误处理时也不友好。
OLE DB与ADO
OLE DB(Object Linking and Embedding for DataBase)数据库对象链接和嵌入
MS采用通用数据访问的方法,“你自己保存数 据,我们给你提供一种方法来访问这些数据。”
实际上就是一种进行关系型数据和非关系型数据 一样的技术。
OLE DB定义:
使用VB访问SQL Sever数据库
属性 (名词)
体积
重量
颜色
某一个苹果
对象
将具有相同数据特征和行为特 征的所有的对象称为一个对象类
(苹果类)
类是型的概念,对象是值得概念
1. 体积变大 2. 重量变重 3. 颜色变红
生长
方法(主 动动词)
摘 事件(被 动动词)
1. 警铃响了
某一个对象的属性可以是数值型、字 符型、也可以是另一个对象
3 、 Execute方法:
执行1个SQL查询,既可是选择查询,也可是动 作查询。
如: Set rst = cn.Execute(“ select * From student where Sname like ‘张%’ “)
但要注意:使用Connection对象的Execute方 法返回的游标类型是最基本的只能读和只能向前 移动的游标adOpenForwardOnly,因此,如果 该方法执行一个选择查询返回一个记录集时特别 要明白。
ODBC允许JET或 RDO访问服务器数 据库
数据库 (DataBase)
OLE DB可以使用 ODBC或自身提供 的方法访问数据库
ADO 对象的组成
七个对象: Connection,
Command, Parameter,
Recordset,
Field, Property, Error.
此类型的游标功能强大同时也是耗费系统资源最多的游 标。
AdOpenStatic:静态游标。
可以用来查找数据或生成报告的记录集合的静态副本。 另外,对其他用户所作的添加、更改或删除不可见。
Microsoft Jet 数据库
使用 Microsoft Jet 数据库引擎创建的数据库。Microsoft Jet 数据 库的文件扩展名是 .mdb。
JET仅为ACCESS数据库服务。
JET与DAO
DAO(Data Access Object)数据访问对象
在开发JET引擎时,在其上增加了一个对象层, 叫做数据访问对象(DAO)。
与数据源的连接,每个项之间用分号隔开。 对于连接字符串的写法,精确固定的语法是没有的。因
为不同类型数据库,有各自的设置项。 例如:指定1个OLE DB连接,连接字符串可写为:
cn.ConnectionString = "Provider=SQLOLEDB.1;
Password=sa; Persist Security Info=True; User ID=sa;
使用DAO/ODBC Direct功能可以实现远程RDO 功能
应用程序 使用RDO访问数据库
通过ODBC
关系数据库
(SQL Sever200、 Oracle、
Access等)DAO 源自ETRDO ODBCJET可以直接访问 ACCESS数据库
ACCESS
JET通知ODBC 访问服务器数据库
JET不能直接访问服务器
DAO可以打开DataBase的连接、访问或创建表, 对表执行SQL语句
应用程序 使用DAO访问数据库
通过JET
ACCESS 数据库
(*.mdb)
数据访问对象(Data Access Objects):是一 种面向对象的界面接口。
通过DAO/Jet功能可以访问ISAM(顺序索引查 找方法)数据库。
ODBC与RDO
ODBC(Open Database Connectivity)开 放数据库互连
MS意识到许多人都拥有后端的数据库,如 Oracle、DB2等,因此发布JET的同时也推出了 一个数据访问层。
ODBC:
是MS建议并开发的数据库API标准,为异种数据库提 供了统一的访问接口,屏蔽了不同DBMS的差异,使 数据库应用系统不仅仅局限于某个DBMS。
建立与数据源的物理连接。
格式: connection.Open [ConnectionString, UserID, Password, Options]
注意:该方法是使Connection获得初始化的方 法,只有使用了该方法,Connection对象才真正 在内存中存在。
后面的参数都是可选参数,最简单如:cn.Open 但如果这样则需要预先设置好ConnectionString 等参数。
Recordset对象
Recordset对象(记录集对象)
用来管理某个查询返回的记录集以及记录集中的 游标。
声明:对每一个需要操作的查询结构可以声 明一个Recordset对象
Dim cn As New ADODB. Recordset
Recordset属性
1、CursorType 属性 (游标类型)
例如:完成如下的数据库操作,打开一个DataBase 并修改一个Table
使用DAO需要写5行代码 使用ODBC API函数大概需要30行代码
因此提出了RDO
RDO(Remot Data Object)远程数据对象
是建立在ODBC 之上的对象模型,提供如同 DAO一样的易用性,同时又拥有几乎和ODBC API一样的速度。
四个集合:
Fields, Properties, Parameters, Errors.
Connection对象
Connection对象(连接对象):
是ADO的首要对象,它建立与数据源的连接、管 理程序对数据的一切操作。
对数据源的任何操作都需要建立一个 Connection对象,因此Connection对象是ADO 的基础。
树叶
树根
树干
某一个苹果树
苹果
在下面的界面中有几个对象?
数据库访问技术
1. JET与DAO 2. ODBC与RDO 3. OLE DB与ADO
JET与DAO
JET(Joint Engine Technology)数据连接引擎技 术:
1991年末或92年初,MS发布了ACCESS作为其Windows 桌面数据库,ACCESS使用了JET数据库引擎。
使用DAO的程序编码非常简单,DAO提供丰富 的游标(Cursor)类型的结果集和非游标 (Cursor Less)类型的结果集,同DDL(数 据描述语言)的功能很类似。
DAO模型是设计关系数据库系统结构的对象类的 集合。
它们提供了完成管理这样一个系统所需的全部操作的 属性和方法,包括创建数据库,定义表、字段和索引, 建立表间的关系,定位和查询数据库等工具。
Microsoft Jet 数据库引擎(Microsoft Jet Database Engine )
一个数据库管理系统,它在用户及系统数据库中检索和存储数据。 Microsoft Jet 数据库引擎可以被视为数据管理器组件,通过它可 构建其他数据访问系统(例如,Microsoft Access 和 Microsoft Visual Basic)。
Data Source=SERVER01\SHU03" cn.Open
第二种,直接Open
cn.Open "Provider=SQLOLEDB.1; Password=sa; Persist Security Info=True; User ID=sa; Initial Catalog=library; Data Source=SERVER01\SHU03"
应用系统
OLE DB
ADO
数据使用者
游标 引擎
查询 引擎
Shape 引擎
由OLE DB提供的服务
OLE DB
电子 表格
ODBC SQL
ISAM
目录 服务
文件 系统
数据提供者
DAO JET
RDO ODBC
JET可以直接访问 ACCESS数据库
ACCESS
JET通知ODBC 访问服务器数据库
ADO OLE DB
相关文档
最新文档