文档详情

第六章关系数据库应用

金**
实名认证
店铺
PPT
303.50KB
约40页
文档ID:204604840
第六章关系数据库应用_第1页
1/40

关系数据库应用软件技术根底软件技术根底创立MS ACCESS数据库 操作演示 创立表 创立表关系 创立查询视图 数据的转化 EXCELACCESSTEXTACCESS创立SQL Server数据库 在SQLServer7中创立数据库 创立ODBC数据库连接 将ACCESS表转到SQLServer数据库中一致数据访问 (UDA) UDA (Universal Data Access,一致数据访问)技术包括OLE DB 和ADO 两层标准接口 OLE DB 是系统级的编程接口,它定义了一组COM 接口,这组接口封装了各种数据系统的访问操作,这组接口为数据使用方和数据提供方建立了标准,OLE DB 还提供了一组标准的效劳组件,用于提供查询、缓存、数据更新、事务处理等操作,因此,数据提供方只需实现一些简单的数据操作,在使用方就可以获得全部的数据控制才能 ADO 是应用层的编程接口,它通过OLE DB 提供的COM 接口访问数据,它适宜于各种客户机/ 效劳器应用系统和基于Web 的应用,尤其在一些脚本语言中访问数据库操作是ADO 的主要优势ADO 是一套用自动化技术建立起来的对象层次构造,它比其他的一些对象模型如DAO(Data Access Object)、RDO(Remote Data Object) 等具有更好的灵敏性,使用更为方便,并且访问数据的效率更高。

UDA 的层次构造 OLE DB一致的数据访问技术的核心是OLE DB,OLE DB 建立了数据访问的标准接口,它把所有的数据源经过抽象形成行集(rowset) 的概念OLE DB 模型主要包括以下一些COM 对象:(1) 数据源(Data Source) 对象数据源对象对应于一个数据提供者,它负责管理用户权限、建立与数据源的连接等初始操作2) 会话(Session) 对象在数据源连接的根底上建立会话对象,会话对象提供了事务控制机制3) 命令(Command) 对象数据使用者利用命令对象执行各种数据操作,如查询命令、修改命令等4) 行集(Rowset) 对象提供了数据的抽象表示,它可以是命令执行的结果,也可以直接由会话对象产生,它是应用程序主要的操作对象OLE DB 的对象模型非常简单,这种简单性也带来了灵敏性 ADO 对象模型 在ADO 模型中,主体对象只有3 个:Connection、Command 和Recordset,其他4 个集合对象Errors、Properties、Parameters 和Fields 分别对应Error、Property、Parameter 和Field 对象。

一个典型的ADO 应用使用Connection 对象建立与数据源的连接,然后用一个Command 对象给出对数据库操作的命令,比方查询或者更新数据等,而Recordset 用于对结果集数据进展维护或者阅读等操作Command 命令所使用的命令语言与底层所对应的OLE DB 数据源有关,不同的数据源可以使用不同的命令语言,对于关系型数据库,通常使用SQL 作为命令语言在Connection、Command 和Recordset 3 个对象中,Command 对象是个可选对象,它是否有效取决于OLE DB 数据提供者是否实现了ICommand 接口由于OLE DB 可提供关系型数据源也可以提供非关系型数据源,所以在非关系型数据源上使用传统的SQL 命令查询数据有可能无效,甚至Command 命令对象也不能使用ADO 对象模型Connection 对象 Connection 对象代表与数据源之间的一个连接,ADO 的Connection 对象封装了OLE DB 的数据源对象和会话对象 a. 通过ConnectionString、ConnectionTimeOut 和Mode 属性设置连接串、超时信息、访问形式。

b. 还可以设置CursorLocation 属性以便指定使用客户端游标,以便在客户程序中使用批处理修改方式c. 设置连接的缺省数据库属性DefaultDatabased. 设置OLE DB 提供者的属性ProviderConnection 对象续I e. 通过Open 和Close 控制Connection 对象与物理数据源的连接f. 通过Execute 方法执行命令g. 提供事务机制,通过BeginTrans、CommitTrans 和RollbackTrans 方法实现事务控制h. 通过Errors 集合属性检查数据源的错误信息i. 通过OpenSchema 方法获取数据库的表信息 Connection 对象是ADO 的根本对象之一 Command 对象 Command 对象代表一个命令,可以通过其方法执行针对数据源的有关操作,比方查询、修改等a. 通过CommandText 属性设置命令串b. 通过Parameters 集合属性和Parameter 对象定义参数化查询或存储过程的参数c. 通过Execute 方法执行命令,可能的话,返回Recordset 对象d. 在执行命令之前,可通过设置CommandType 属性以便优化性能。

Command 对象续Ie. 可以通过Prepared 属性指示底层的提供者为当前命令准备一个编译过的版本,以后再执行时,速度会大大加快f. 通过CommandTimeOut 属性设置命令执行的超时值( 以秒为单位)g. 可以设置ActiveConnection 属性,为命令指定连接串,Command 对象将在内部创立Connection 对象h. 可以设置Name 属性,这样以后可以在相应的Connection 对象上按Name 属性指定的方法名执行Recordset 对象 Recordset 对象代表一个表的记录集或者命令执行的结果,在记录集中,总是有一个当前的记录记录集是ADO 管理数据的根本对象,所有的Recordset 对象都按照行列方式的表状构造进展管理,每一行对应一个记录(Record),每一列对应一个域(Field)Recordset 对象也通过游标对记录进展访问,在ADO 中,游标(Cursor)分为以下4 种:静态游标(adOpenStatic)提供对数据集的一个静态拷贝,允许各种挪动操作,包括前移、后移等等,但其他用户所做的操作反映不出来动态游标(OpenDynamic)允许各种挪动操作,包括前移、后移等等,并且其他用户所做的操作也可以直接反映出来。

前向游标(OpenForwardOnly)允许各种前向挪动操作,不能向后挪动,并且其他用户所做的操作也可以直接反映出来键集(OpenKeyset) 游标类似于动态游标,也可以看到其他用户所做的数据修改,但不能看到其他用户新加的记录,也不能访问其他用户删除的记录Recordset 对象IRecordset 对象的用法如下:a. 利用CursorType 属性设置游标类型b. 通过Open 方法翻开记录集数据,既可以在Open 之前对ActiveConnection 属性赋值,指定Recordset 对象使用连接对象,也可以直接在Open 方法中指定连接串参数,ADO 将创立一个内部连接,即使连接串与外部的连接对象一样,它也使用新的连接对象c. Recordset 对象刚翻开时,当前记录被定位在首条记录,并且BOF 和EOF 标志属性为False,假设当前记录集为空记录集,那么BOF 和EOF 标志属性为TrueRecordset 对象 d. 通过MoveFirst、MoveLast、MoveNext 和MovePrevious 方法可以对记录集的游标进展挪动操作假设OLE DB 提供者支持相关功能的话,可以使用AbsolutePosition、AbsolutePage 和Filter 属性对当前记录重新定位。

e. ADO 提供了两种记录修改方式:立即修改和批修改在立即修改方式下,一旦调用Update 方法,那么所有对数据的修改立即被写到底层的数据源在批修改方式下,可以对多条记录进展修改,然后调用UpdateBatch 方法把所有的修改递交到底层数据源递交之后,可以用Status 属性检查数据冲突Recordset 对象是ADO 数据操作的核心,它既可以作为Connection 对象或Command 对象执行特定方法的结果数据集,也可以独立于这两个对象而使用,由此可以看出ADO 对象在使用上的灵敏性VB6中的数据访问接口在 Visual Basic 中,可用的数据访问接口有三种:ActiveX 数据对象(ADO)、远程数据对象(RDO) 和数据访问对象(DAO) Q DAO (Data Access Objects) 数据访问对象是第一个面向对象的接口 Q RDO (Remote Data Objects) 远程数据对象是一个到 ODBC 的、面向对象的数据访问接口 Q ADO (ActiveX Data Objects)是 DAO/RDO 的后继产物ADO 2.0在功能上与 RDO 更相似 在Visual Basic 中使用ADO 利用ADO Control和DataGrid Control来访问数据库例 直接利用数据对象来访问数据库例 对记录集数据进展编辑操作 对记录集数据进展挪动和遍历操作编辑操作I 增加记录操作:AddNew 方法,再调用Update 方法,如:rs.AddNewrs!Author_id = strIDrs!AuthorName = strNamers!Title = strTitlers.Update编辑操作 删除记录操作:调用Delete 方法可以删除当前记录或者满足条件的一组记录。

在立即修改形式下,删除马上生效;在批修改形式下,Delete 操作只在当前缓冲区中的记录上作了标记,只有当调用了UpdateBatch 之后,记录才真正被删除一个简单的例子如下:rs.Filter = Title =Engineerrs.Delete adAffectGroupDelete the record.rs.UpdateBatch编辑操作 修改记录操作:对当前记录的各个域信息进展重新赋值后,调用Update 方法,假设要取消修改,那么调用CancelUpdate 方法举例如下:rs!Author_id = strIDrs!AuthorName = strNamers!Title = strTitlers.Update挪动和遍历操作操作操 作 类型 说明 MoveFirst方法 移动到记录 集首MoveLast方法移动到记录 集尾MoveNext方法移动到下一条记录MovePrevious方法移动到上一条记录Move方法往前或往后移动数条记录Bookmark属性返回标识 当前记录 的书签 或设置到指定的书签 位置BOF属性若当前位置在首条记录 之前,则返回True否则为 FalseEOF属性若当前位置在最后记录 之后,则返回True否则为 False 挪动和遍历操作:Recordset 提供了各种方向的挪动操作,利用这些操作可以对记录集进展遍历处理。

各种挪动操作如下表所示利用这些属性和方法,可以很灵敏地访问记录集 完毕语随着信息化时代的不断深化,信息处理和信息共享变得越来越重要,数据访问技术对于信息系统也就显得尤为重要,本文介绍了Microsoft 提供的一致数据访问(UDA) 技术,从根本的构造模型到深化介绍ADO 对象模型,并从应用的角度分析了ADO 的一些特性,最后通过例程序展示了ADO 的根本用法本节课旨在对ADO 技术作一个根本介绍,由于计算机技术开展很快,有些最新的技术在本文中没有涉及到,有兴趣的同学可以查阅有关资料,也可以与我共同讨论 作业讲评书号书名定价出版社作者ISN001B110C1A1ISN002B220C2A1ISN001B130C1A3作业讲评书号书名ISN001B1书号定价ISN00110书名出版社B1C1书名作者B1A1。

下载提示
相似文档
正为您匹配相似的精品文档