




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软考网络管理员备考知识点第6章精讲(六)离2017年上半年软考只有三个来月的时间了,下面是希赛小编为大家整理的软考网络管理员第6章备考知识点精讲,希望能帮助学友们。基本的ADO编程模型ADO提供执行以下操作的方式:连接到数据源。同时,可确定对数据源的所有更改是否已成功或没有发生。指定访问数据源的命令,同时可带变量参数,或优化执行。执行命令。如果这个命令使数据按表中的行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。可使用缓存行的更改内容来更新数据源。提供常规方法检测错误(通常由建立连接或执行命令造成)。ADO有很强的灵活性,只需执行部分模块就能做一些有用的工作。例如:将数据从文件直接存储到缓存行,然后仅用ADO资源对数据进行检查。进行ADO连接的主要模块包括:1.连接连接是交换数据所必需的环境,通过连接可从应用程序访问数据源。通过如Microsoft Internet Information Server作为媒介,应用程序可直接(有时称为双层系统)或间接(有时称为三层系统)访问数据源。事务用于界定在连接过程中发生的一系列数据访问操作的开始和结束。ADO可明确事务中的操作造成的对数据源的更改或者成功发生,或者根本没有发生。如果取消事务或它的一个操作失败,则最终的结果将仿佛是事务中的操作均未发生,数据源将会保持事务开始以前的状态。对象模型使用Connection对象使连接概念得以具体化。对象模型无法清楚地体现出事务的概念,而是用一组Connection对象方法来表示。ADO访问来自OE DB提供者的数据和服务。Connection对象用于指定专门的提供者和任意参数。例如,可对远程数据服务(RDS)进行显式调用,或通过Microsoft OE DB Remoting Provider进行隐式调用。(请参阅RDS教程通过MS Remote Provider调用RDS第二步的范例)2.命令通过已建立的连接发出的命令可以某种方式来操作数据源。一般情况下,命令可以在数据源中添加、删除或更新数据,或者在表中以行的格式检索数据。对象模型用对象来体现命令概念。Command对象使ADO能够优化对命令的执行。3.参数通常,命令需要的变量部分即参数可以在命令发布之前进行更改。例如,可重复发出相同的数据检索命令,但每一次均可更改指定的检索信息。参数对执行其行为类似函数的命令非常有用,这样就可知道命令是做什么的,但不必知道它如何工作。例如,可发出一项银行过户命令,从一方借出贷给另一方。可将要过户的款额设置为参数。对象模型用Parameter对象来体现参数概念。4.记录集如果命令是在表中按信息行返回数据的查询(行返回查询),则这些行将会存储在本地。对象模型将该存储体现为Recordset对象。但是,不存在仅代表单独一个Recordset行的对象。记录集是在行中检查和修改数据最主要的方法。Recordset对象用于指定可以检查的行,移动行,指定移动行的顺序,添加、更改或删除行,通过更改行更新数据源,管理Recordset的总体状态。5.字段一个记录集行包含一个或多个字段.如果将记录集看作二维网格,字段将排列构成列.每一字段(列)都分别包含有名称、数据类型和值的属性,正是在该值中包含了来自数据源的真实数据。对象模型以Fied对象体现字段。要修改数据源中的数据,可在记录集行中修改Fied对象的值,对记录集的更改最终被传送给数据源。作为选项,Connection对象的事务管理方法能够可靠地保证更改要么全部成功,要么全部失败。6.错误错误随时可在应用程序中发生,通常是由于无法建立连接、执行命令或对某些状态(例如,试图使用没有初始化的记录集)的对象进行操作。对象模型以对象体现错误。任意给定的错误都会产生一个或多个Error对象,随后产生的错误将会放弃先前的Error对象组。7.属性每个ADO对象都有一组唯一的属性来描述或控制对象的行为。属性有两种类型:内置和动态。内置属性是ADO对象的一部分并且随时可用。动态属性则由特别的数据提供者添加到ADO对象的属性集合中,仅在提供者被使用时才能存在。对象模型以Property对象体现属性。8.集合ADO提供集合,这是一种可方便地包含其他特殊类型对象的对象类型。使用集合方法可按名称(文本字符串)或序号(整型数)对集合中的对象进行检索。ADO提供四种类型的集合:Connection对象具有Errors集合,包含为响应与数据源有关的单一错误而创建的所有Error对象。Command对象具有Parameters集合,包含应用于Command对象的所有Parameter对象。Recordset对象具有Fieds集合,包含所有定义Recordset对象列的Fied对象。另外,Connection、Command、Recordset和Fied对象都具有Properties集合。它包含所有属于各个包含对象的Property对象。ADO对象拥有可在其上使用的诸如整型、字符型或布尔型这样的普通数据类型来设置或检索值的属性。然而,有必要将某些属性看成是数据类型COECTION OBJECT的返回值。相应的,集合对象具有存储和检索适合该集合的其他对象的方法。例如,可认为Recordset对象具有能够返回集合对象的Properties属性。该集合对象具有存储和检索描述Recordset性质的Property对象的方法。9.事件事件是对将要发生或已经发生的某些操作的通知。一般情况下,可用事件高效地编写包含几个异步任务的应用程序。对象模型无法显式体现事件,只能在调用事件处理程序例程时表现出来。在操作开始之前调用的事件处理程序便于对操作参数进行检查或修改,然后取消或允许操作完成。操作完成后调用的事件处理程序在异步操作完成后进行通知。多个操作经过增强可以有选择地异步执行。例如,用于启动异步Recordset.Open操作的应用程序将在操作结束时得到执行完成事件的通知。ADO操作步骤ADO的目标是访问、编辑和更新数据源,而编程模型体现了为完成该目标所必需的系列动作的顺序。ADO提供类和对象以完成以下活动:连接到数据源(Connection),并可选择开始一个事务。可选择创建对象来表示SQ命令(Command)。可选择在SQ命令中指定列、表和值作为变量参数(Parameter)。执行命令(Command、Connection或Recordset)。如果命令按行返回,则将行存储在缓存中(Recordset)。可选择创建缓存视图,以便能对数据进行排序、筛选和定位(Recordset)。通过添加、删除或更改行和列编辑数据(Recordset)。在适当情况下,使用缓存中的更改内容来更新数据源(Recordset)。如果使用了事务,则可以接受或拒绝在完成事务期间所作的更改。结束事务(Connection)。1.打开连接ADO打开连接的主要方法是使用Connection.Open方法。另外也可在同一个操作中调用快捷方法Recordset.Open打开连接并在该连接上发出命令。以下是Visua Basic中用于两种方法的语法:connection.Open ConnectionString,UserID,Password,OpenOptionsrecordset.Open Source,ActiveConnection,CursorType,ockType,OptionsADO提供了多种指定操作数的简便方式。例如:Recordset.Open带有ActiveConnection操作数,该操作数可以是文字字符串(表示字符串的变量),或者是代表一个已打开的连接的Connection对象。对象中的多数方法具有属性,当操作数缺省时属性可以提供参数。使用Connection.Open,可以省略显式ConnectionString操作数并通过将ConnectionString的属性设置为DSN=pubs;uid=sa;pwd=;database=pubs隐式地提供信息。与此相反,连接字符串中的关键字操作数uid和pwd可为Connection对象设置UserID和Password参数。2.创建命令查询命令要求数据源返回含有所要求信息行的Recordset对象,命令通常使用SQ编写。例如:(1)代表字符串的文字串或变量。可使用命令字符串SEECT*from authors查询pubs数据库中的authors表中的所有信息。(2)代表命令字符串的对象。在这种情况下,Command对象的CommandText属性的值设置为命令字符串。Command cmd=New ADODB.Command;cmd.CommandText=SEECT*from authors在查询命令中,使用占位符指定参数化命令字符串。尽管SQ字符串的内容是固定的,可以创建参数化命令,这样在命令执行时占位符子字符串将被参数所替代。使用Prepared属性可以优化参数化命令的性能,参数化命令可以重复使用,每次只需要改变参数。例如,执行以下命令字符串将对所有姓Ringer的作者进行查询:Command cmd=New ADODB.Commandcmd.CommandText=SEECT*from authors WHERE au_name=指定Parameter对象并将其追加到Parameter集合。每个占位符将由Command对象Parameter集合中相应的Parameter对象值替代。可将Ringer作为值来创建Parameter对象,然后将其追加到Parameter集合:Parameter prm=New ADODB.Parameterprm.Name=au_nameprm.Type=adVarCharprm.Direction=adInputprm.Size=40prm.Vaue=Ringercmd.Parameters.Append prm使用CreateParameter方法指定并追加Parameter对象。ADO现在可提供简易灵活的方法在单个步骤中创建Parameter对象并将其追加到Parameter集合。cmd.Parameters.Append cmd.CreateParameter _au_name,adVarChar,adInput,40,Ringer3.执行命令返回Recordset的方法有三种:Connection.Execute、Command.Execute以及Recordset.Open.以下是它们的Visua Basic语法:connection.Execute(CommandText,RecordsAffected,Options)command.Execute(RecordsAffected,Parameters,Options)recordset.Open Source,ActiveConnection,CursorType,ockType,Options必须在发出命令之前打开连接,每个发出命令的方法分别代表不同的连接:Connection.Execute方法使用由Connection对象自身表现的连接。Command.Execute方法使用在其ActiveConnection属性中设置的Connection对象。Recordset.Open方法所指定的或者是连接字符串,或者是Connection对象操作数;否则使用在其ActiveConnection属性中设置的Connection对象。命令在三种情况下的指定方式:(1)在Connection.Execute方法中,命令是字符串。(2)在Command.Execute方法中,命令是不可见的,它在Command.CommandText属性中指定。另外,此命令可含有参数符号(),它可以由参数VARIANT数组参数中的相应参数替代。(3)在Recordset.Open方法中,命令是Source参数,它可以是字符串或Command对象。每种方法可根据性能需要替换使用:Execute方法针对(但不局限)于执行不返回数据的命令。两种Execute方法都可返回快速只读、仅向前Recordset对象。Command.Execute方法允许使用可高效重复利用的参数化命令。另一方面,Open方法允许指定CursorType(用于访问数据的策略及对象)和ockType(指定其他用户的isoation级别以及游标是否在immediate或batch modes中支持更新)。4.操作数据大量Recordset对象方法和属性可用于对Recordset数据行进行检查、定位以及操作。Recordset可看作行数组,在任意给定时间可进行测试和操作的行为当前行,在Recordset中的位置为当前行位置.每次移动到另一行时,该行将成为新的当前行。有多种方法可在Recordset中显式移动或定位(Move方法)。一些方法(Find方法)在其操作的附加效果中也能够做到。此外,设置某个属性(Bookmark属性)同样可以更改行的位置。Fiter属性用于控制可访问的行(即这些行是可见的)。Sort属性用于控制所定位的Recordset行中的顺序。Recordset有一个Fieds集合,它是在行中代表每个字段或列的Fied集,可从Fied对象的Vaue属性中为字段赋值或检索数据。作为选项,可访问大量字段数据(GetRows和Update方法)。使用Move方法从头至尾对经过排序和筛选的Recordset定位。当Recordset EOF属性表明已经到达最后一行时停止。在Recordset中移动时,显示作者的姓和名以及原始电话号码,然后将phone字段中的区号改为777.(phone字段中的电话号码格式为aaa xxx-yyyy,其中aaa为区号,xxx为局号。)rs(au_name)。Properties(Optimize)=TRUErs.Sort=au_name ASCrs.Fiter=phone IKE415 5*rs.MoveFirstDo Whie Not rs.EOFDebug.PrintName:&rs(au_fname)&rs(au_name)&_Phone:rs(phone)&vbCrrs(phone)=777&Mid(rs(phone),5,11)rs.MoveNextoop5.更新数据对于添加、删除和修改数据行,ADO有两个基本概念。第一个概念是不立即更改Recordset而是将更改写入内部复制缓冲区.如果您不想进行更改,复制缓冲区中的更改将被放弃;如果想保留更改,复制缓冲区中的改动将应用到Recordset.第二个概念是只要您声明行的工作已经完成则将更改立刻传播到数据源(即立即模式)。或者只是收集对行集合的所有更改,直到您声明该行集合的工作已经完成(即批模式)。这些模式将由Cursorocation和ockType属性控制。在立即模式中,每次调用Update方法都会将更改传播到数据源。而在批模式中,每次调用Update或移动当前行位置时,更改都被保存到Recordset中,只有UpdateBatch方法才可将更改传送给数据源。使用批模式打开Recordset,因此更新也使用批模式。Update可采用简捷的形式将更改用于单个字段或将一组更改用于一组字段,然后再进行更改,这样可以一步完成更新操作。也可选择在事务中进行更新。可以使用事务来确保多个相互关联的操作或者全部成功执行,或者全部取消。在此情况下,事务不是必需的。事务可在一段相当长的时间内分配和保持数据源上的有限资源,因此建议事务的存在时间越短越好。(这便是本教程不在进行连接之初就开始事务的原因。)6.结束更新假设批更新结束时发生错误,如何解决将取决于错误的性质和严重性以及应用程序的逻辑关系。如果数据库是与其他用户共享的,典型的错误则是他人在您之前更改了数据字段,这种类型的错误称为冲突.ADO将检测到这种请况并报告错误。如果错误存在,它们会被错误处理例程捕获。可使用adFiterConfictingRecords常数对Recordset进行筛选,将冲突行显示出来。要纠正错误只需打印作者的姓和名(au_fname和au_name),然后回卷事务,放弃成功的更新。由此结束更新。conn.CommitTransOn Errorrs.Fiter=adFiterConfictingRecordsrs.MoveFirstDo Whie Not rs.EOFDebug.PrintConfict:Name:&rs(au_fname)&rs(au_name)rs.MoveNextoopconn.RobackResume NextADO示例代码Pubic Sub main()Dim co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三农产品品牌培育方案手册
- 医疗卫生行业医疗信息化与智能诊断方案
- 医疗设备行业质量控制与监管体系方案
- 高效率日常行政事务文书指南
- 物联网行业智能家居设备互联互通方案
- 能源储存技术手册
- 餐饮企业运营管理与服务指南
- 辽宁2025年辽宁石化职业技术学院赴高校现场招聘3人笔试历年参考题库附带答案详解
- 自贡2025年第一批四川自贡市消防救援支队招录聘用制消防员25人笔试历年参考题库附带答案详解
- 绍兴浙江绍兴市急救中心招聘编外工作人员笔试历年参考题库附带答案详解
- 日式保洁培训课件大全
- 2025年广东省深圳市高考语文一模试卷
- 2025年福建省高职单招职业适应性测试题库及答案解析
- 统编版(2025)七年级下册道德与法治第一课《青春正当时》教案(3课时)
- 自媒体运营实战教程(抖音版) 课件 第7章 短视频运营-自媒体中级
- 2025时事政治必考题库含参考答案
- 保洁管理安全培训课件
- 小学生药品安全课件视频
- 隧洞运输车辆安全课件
- 工程机械租赁服务方案及保障措施
- 新产程观察和护理课件
评论
0/150
提交评论