资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
关系数据库应用,软件技术基础,创建MS ACCESS数据库,操作演示 创建表 创建表关系 创建查询(视图) 数据的转化 EXCELACCESS,TEXTACCESS,创建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. 设置连接的缺省数据库属性DefaultDatabase。 d. 设置OLE DB 提供者的属性Provider。,Connection 对象(续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 对象(续I),e. 可以通过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 对象I,Recordset 对象的用法如下: a. 利用CursorType 属性设置游标类型。 b. 通过Open 方法打开记录集数据,既可以在Open 之前对ActiveConnection 属性赋值,指定Recordset 对象使用连接对象,也可以直接在Open 方法中指定连接串参数,ADO 将创建一个内部连接,即使连接串与外部的连接对象相同,它也使用新的连接对象。 c. Recordset 对象刚打开时,当前记录被定位在首条记录,并且BOF 和EOF 标志属性为False,如果当前记录集为空记录集,则BOF 和EOF 标志属性为True。,Recordset 对象,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)。 DAO (Data Access Objects) 数据访问对象是第一个面向对象的接口 RDO (Remote Data Objects) 远程数据对象是一个到 ODBC 的、面向对象的数据访问接口 ADO (ActiveX Data Objects)是 DAO/RDO 的后继产物。ADO 2.0在功能上与 RDO 更相似,在Visual Basic 中使用ADO,利用ADO Control和DataGrid Control来访问数据库(例) 直接利用数据对象来访问数据库(例) 对记录集数据进行编辑操作 对记录集数据进行移动和遍历操作,编辑操作I,增加记录操作:AddNew 方法,再调用Update 方法,如: rs.AddNew rs!Author_id = strID rs!AuthorName = strName rs!Title = strTitle rs.Update,编辑操作,删除记录操作:调用Delete 方法可以删除当前记录或者满足条件的一组记录。在立即修改模式下,删除马上生效;在批修改模式下,Delete 操作只在当前缓冲区中的记录上作了标记,只有当调用了UpdateBatch 之后,记录才真正被删除。一个简单的例子如下: rs.Filter = “Title =Engineer“ rs.Delete adAffectGroup Delete the record. rs.UpdateBatch,编辑操作,修改记录操作:对当前记录的各个域信息进行重新赋值后,调用Update 方法,如果要取消修改,则调用CancelUpdate 方法。举例如下: rs!Author_id = strID rs!AuthorName = strName rs!Title = strTitle rs.Update,移动和遍历操作操作,移动和遍历操作:Recordset 提供了各种方向的移动操作,利用这些操作可以对记录集进行遍历处理。各种移动操作如下表所示。 利用这些属性和方法,可以很灵活地访问记录集,结束语,随着信息化时代的不断深入,信息处理和信息共享变得越来越重要,数据访问技术对于信息系统也就显得尤为重要,本文介绍了Microsoft 提供的一致数据访问(UDA) 技术,从基本的结构模型到深入介绍ADO 对象模型,并从应用的角度分析了ADO 的一些特性,最后通过例程序展示了ADO 的基本用法。 本节课旨在对ADO 技术作一个基本介绍,由于计算机技术发展很快,有些最新的技术在本文中没有涉及到,有兴趣的同学可以查阅有关资料,也可以与我共同探讨。,作业讲评,作业讲评,作业讲评,作业讲评,一个数据库应用系统的设计与实现,应用背景与需求说明 在单机上实现一个教学管理系统的例子,并且可以很容易地把它移植到C/S结构中,只涉及教学管理中的对学生、课程和教师的管理部分: 项目的具体要求是: .运行环境是Windows 95/98操作系统,数据库的前端开发环境是VB 5.0。 一门课程可由多名教师来讲授。 一个教师可讲授多门课程。 一个学生可以选修多门课程。,需产生的报表有 .每学期开学时要生成学生修
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号