版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ADO是ActiveDataObject缩写,是针对当前Microsoft软件所支持的数据进行操作的最有效、最简单(jiǎndān)、功能最强大的方法。它能自如地控制数据的显示、查询以及对数据的修改、删除和添加。通过本章学习,应该掌握以下内容:ADO各种对象和集合利用ADO存取组件进行数据库连接利用Dreamweaver编辑各种超连接的方法第12章利用ADO实现网页(wǎnɡyè)与
数据库的链接第一页,共21页。12.1利用ADO编写(biānxiě)新闻发布系统新闻发布系统能带给浏览者许多的方便,就像布告栏一样,可以让在校师生和外界单位了解学校当天或是最近发生的大事,以及公布短期内学校的主要工作(gōngzuò)计划等等。具体来说,使用ADO数据库链接技术来完成输入新闻和查看新闻,需要用链接对象的Open方法来建立数据库链接,用链接对象的Execute方法来执行SQL查询语句和操作命令(把新闻信息保存到数据库、或者从数据库中查找新闻信息),还需要使用ADO记录集来显示新闻(把数据库中找出来的新闻以一定的格式显示到新闻发布系统)。书上给出了示例中新闻发布系统得源代码以及一些解释。第二页,共21页。12.2ADO概述ADO定义了三个一般对象:Connection对象、Command对象和Recordset对象,通过这三个对象,用户可以方便地建立数据库连接、执行SOL查询及存取查询的结果。下面列出了ADO的重要接口:Connection(连接):该对象代表打开的文件与数据源的连接。Error(错误集):包含在响应涉及提供者的单个失败时产生的所有Error对象。Command(命令):该对象定义了对数据源执行的指定命令。Parameter(参数):这个接口表示传给Command的参数。Recordset(游标):这是功能最强大但最复杂的接口,它含有包含数据的游标。用户可使用Recordset对象操作来自提供者的数据。Field(字段):该接口表示Recordset对象中的某一列数据,同时能返回游标对象的一些关于数据本身(běnshēn)的属性和参数。Property(属性):包含特定对象实例的所有Property对象。第三页,共21页。12.3Connection对象Connection对象是数据源的一个开放连接。它跟踪正在使用的DSN连接保持的时间以及其他定义的数据库的属性。12.3.1Connection对象的方法1.Open方法Connection对象的Open方法用来初始化一个连接,只有使用了Connection对象的Open方法后,Connection对象才会真正存在,然后才能发命令(mìnglìng)对数据源产生作用。通常在使用Open方法时有如下两种途径:(1)直接将连接字符串传给Open方法<%setconn=Server.CreateObject(“ADODB.Connection”)conn.Open“DSN=STUDENT.UID=uid.PWD=pwd”%>(2)利用它的ConnectionString属性<%conn.Connectionstring=“DSN=STUDENT;UID=uid;PWD=pwd”conn.Open%>第四页,共21页。2.Close方法当调用了Close方法后,系统就停止(tíngzhǐ)了同数据源之间的连接,并且释放与连接有关的系统资源。当调用此方法时,不只是关闭Connection对象,而且还关闭了其他正在使用该Connection对象的ADO对象。不过Close方法只是释放与其相关的系统资源,Connection对象本身并没有释放。因此,一个关闭的Connection对象还可以接着用Open方法打开,而不用再次创建。要真正释放所有其占用的资源,只需:<%conn.CloseSetconn=nothing%>3.BeginTrans方法ADO的一个重要的功能是执行并控制数据源的事务操作。事务即在一次操作中对数据库的多次写的动作。一次事务活动要么全部成功,要么全部失败。使用事务的好处在于它能提供很好的机会优化对数据源进行写操作的过程。它让ADO知道任何对数据源的修改还都没有写到硬盘上,还在缓冲区中。往缓冲区中写东西要比硬盘快得多,这样就能够大大的提高系统性能。第五页,共21页。4.CommitTrans方法当BeginTrans方法被调用后,数据并没有写到硬盘,所以(suǒyǐ)Connection调用CommitTrans方法把所有的数据写到硬盘上。该方法把一次事务的操作一次全部写到硬盘上。然后就关闭此次事务。5.Execute方法Connection的主要任务是在最高层控制与数据源之间的交互作用,但是该对象也能执行SQL语句及存储过程。但是利用Connection对象返回数据时,要抽取的信息是基本的游标即只能读和只能向前的游标。使用Execute方法的基本语句是:SetmyRecordset=Conn.Execute(CommandText.RecordAffected.Options)其中:CommandText:是一个字符串,它包含一个表名、或某个将被执行的SQL语句。RecordAffected:是个变量,数据提供者将它返回此次操作所影响的记录数。Options:用来指定Commandstring参数的性质。第六页,共21页。6.RollbackTrans方法这个方法和CommitTrans方法相反,它是取消此次事务以来对数据源所做的所有操作,并不写入数据源。同CommitTrans方法一样,调用此方法,本次事务结束。12.3.2Connection的属性Connection对象的属性是用来控制高级(gāojí)的数据处理。1.Attributes属性该属性定义了对象一个或多个特点。对于Connection对象来说,Attributes属性控制着事务成功或失败后Connection要如何向数据库写数据。如果Attributes设置为262144或者adX-actAbortRetaining的ADODB的常量,那么如果事务被取消,另一个事务会自动启动。2.Mode属性Mode属性用来表示连接的写权限,只能在Connection对象没有打开的情况下进行设置。3.Version属性该属性用来查询ADO的版本号。第七页,共21页。4.Provider属性该属性用来设置或返回数据来源的名字。它的缺省值是ODBC数据来源,对于OLEDB,它的返回值为“MSDASQL”。5.CommandTimeout属性该属性定义了允许对数据源的操作终止并产生一个错误的等待时间。可用它的属性来定义连接业务很大或服务器很忙时如何操作。6.Connectionstring属性该属性将返回一个字符串,它包含创建数据连接时所用的所有信息(xìnxī)。它可以是DNS,也可以是连接数据源时的所有参数。7.DefaultDatabase属性使用DefaultDatabase属性可设置或返回指定Connection对象上默认数据库的名称。如果有默认数据库,SQL字符串可使用非限定语法访问该数据库中的对象。如要访问DefaultDatabase属性中指定数据库以外的数据库中的对象,对象名必须与所需的数据库名称匹配。连接时,提供者将默认数据库信息(xìnxī)写入DefaultDatabase属性。某些提供者对于每个连接只允许一个数据库,在此情况下将不能更改DefaultDatabase属性。第八页,共21页。12.4Recordset对象Recordset是ADO的一个非常重要的对象。ADO一半以上的文档都是关于Recordset的。12.4.1Recordset方法1.打开、关闭和复制Recordset的方法(1)Open方法Open方法是用来打开一个给予ActiveConnection和Source属性的Recordset。在把连接和原信息作为参数传给Recordset的Open方法时,游标被打开且该方法所有相应的属性值也被继承下来。(2)Close方法Close方法用于关闭Recordset对象并释放(shìfàng)相关资源。同Connection对象一样,在调用setRecordSet=nothing之前,它仍然存在,只需要重新打开,而不需要创建。在允许关闭当前编辑的记录前,必须首先调用Cancelupdate或Update方法,否则会出现错误。但是,如果以批量模式更新记录,那么对缓冲区记录所做的修改将全部丢失。(3)Clone方法Clone方法用来创建一个Recordset对象的完全拷贝。采用该方法,可以为任何Recordset维持多个当前的记录。但是只有所用的Recordset类型允许使用BookMa-rks时才能使用这种方法。第九页,共21页。2.编辑修改数据的方法(1)addNew方法addNew方法用来向数据库中增加新纪录。调用该方法时即在Rec-ordset中开始一个新行,并将指针移到行首以准备(zhǔnbèi)加入新的数据。是效率最低的一种修改方法,最好用SQL来实现。(2)Delete方法Delete方法用来删除当前记录。它与addNew方法一样效率很低,但是它能够批量删除。当在批量模式相关联的Recordset中使用Delete方法时,Delete方法只是将当前记录作上删除标记。通过这种方法Recordset可以处理数据缓冲集合。(3)Update方法Update方法表示将对Recordset对象中的当前记录的任何修改保存在数据源中,条件是Recordset能够允许更新且不是工作在批量更新模式下。(4)CancelUpdate方法CancelUpdate方法用来取消在调用Update方法前所作的一切修改。(5)UpdateBatch方法如果工作在批量更新模式下,该方法将取消对Recordset的修改。当取消一个批量操作时,可以指定缓冲区的一个子集,以采用CancelBatch方法的一些Affe-ctrecords变量在其上面的操作。第十页,共21页。12.4.2Recordset属性1.MarshalOptions属性该属性指示(zhǐshì)要被调度返回服务器的记录。2.AbsolutePage属性该属性指定当前记录所在的页。3.AbsolutePosition属性该属性指定Recordset对象当前记录的序号位置。4.Bookmark属性该属性返回唯一标识Recordset对象中当前记录的书签,或者将Reeordset对象的当前记录设置为由有效书签所标识的记录。5.CacheSize属性该属性指示(zhǐshì)缓存在本地内存中的Recordset对象的记录数。6.CursorType属性该属性指示(zhǐshì)在Recordset对象中使用的游标类型。7.Filter属性该属性为Recordset中的数据指定筛选条件。第十一页,共21页。8.Index属性该属性指示对Recordset对象当前生效的索引的名称。9.LockType属性该属性指示编辑过程中对记录使用(shǐyòng)的锁定类型。10.MaxRecords属性该属性指示通过查询返回Recordset记录的最大数目。11.PageCount属性该属性指示Recordset对象包含的数据页数。12.PageSize属性该属性指示Recordset中一页所包含的记录数。默认值为10。13.RecordCount属性该属性指示Recordset对象中记录的当前数目。14.Sort属性该属性指定一个或多个Recordset对象中排序的字段名,并指定按升序还是降序对字段进行排序。第十二页,共21页。15.Source属性该属性指示Recordset对象中数据的来源。16.State属性该属性对所有可应用对象,说明其对象状态是打开或是关闭。对执行异步方法的Recordset对象,说明当前的对象状态是连接、执行或是获取。12.5Command对象Command对象表示一个可被数据源处理(chǔlǐ)的命令。这个对象提供一种很简单的方法来处理(chǔlǐ)查询或者存储过程。利用Command对象,可以表示一个命令字符串、存储过程或一个表名。1.Command对象的方法(1)CreateParameter方法CreateParameter方法使用指定属性创建新的Parameter对象,并在执行之前加到Command对象的Parameter集合中。Parameter对象表示传给SQL语句或存储进程的一个数。(2)Execute方法该方法执行在CommandText属性中指定的查询、SQL语句或存储过程。其方法与前面介绍的Connection的Execute方法类似。第十三页,共21页。2.Command的属性(1)ActiveConnection属性该属性指示指定的Command或Recordset对象当前所属的Connection对象。(2)CommandText属性该属性包含要根据提供者发送的命令的文本。(3)CommandTimeout属性该属性指示在终止尝试和产生错误之前执行(zhíxíng)命令期间需等待的时间。(4)CommandType属性该属性指示Command对象的类型。(5)Prepared属性该属性指示执行(zhíxíng)前是否保存命令的编译版本。第十四页,共21页。12.6Errors集合和Error对象Connection对象有一个Errors集合,用来返回ADO在操作过程中发生的错误。但是这个Errors集合并不包括会话过程中发生的错误,而只是某一个操作所引起的错误。任何涉及ADO对象的操作都可以产生一个或多个提供者错误。产生错误时,可以将一个或多个Error对象置于Connection对象的Errors集合中。其他(qítā)ADO操作产生错误时,将清空Errors集合,并且将新的Error对象置于Errors集合中。1.Errors集合的方法(1)Clear方法该方法删除集合中的所有对象。(2)Item方法该方法根据名称或序号返回集合的特定成员。2.Errors的属性一Count属性该属性指示集合中对象的数目。3.Error对象Error对象包含与单个操作(涉及提供者)有关的数据访问错误的详细信息。第十五页,共21页。4.Error属性(1)Description属性该属性描述(miáoshù)Error对象。(2)HelpContext、HelpFile属性该属性指示与Error对象关联的帮助文件和主题。(3)NativeError属性该属性指示给定Error对象的、特定提供者的错误代码。(4)Number属性该属性指示用于唯一标识Error对象的数字。(5)Source属性(ADOError)该属性指示产生错误的原始对象或应用程序的名称。(6)SQLState属性该属性指示给定Error对象的SQL状态。第十六页,共21页。12.7Parameters集合和Parameter对象Parameters集合包含Command对象的所有Parameter对象.1.Parameters集合的方法(1)Append方法该方法将对象追加到集合中。如果集合是Fields,可以先创建(chuàngjiàn)新的Filed对象然后再将其追加到集合中。(2)Delete方法该方法从Parameters集合中删除对象。2.Parameter集合的属性Count属性:它指示集合中对象的数目。Item属性:它用来返回集合中某一个参数。它有一个索引值,它即可以是所要的参数在Parameters集合中的参数值,也可以是参数的名字。3.Parameter对象的方法AppendChunk方法该方法将数据追加到大型文本、二进制数据Field或Parameter对象。第十七页,共21页。4.Parameter对象的属性(shǔxìng)(1)Direction属性(shǔxìng)该属性(shǔxìng)指示Parameter所标明的是输入参数、输出参数还是既是输出又是输入参数或该参数是否为存储过程返回的值。(2)Name属性(shǔxìng)Name属性(shǔxìng)指示对象的名称。(3)NumericScale属性(shǔxìng)该属性(shǔxìng)指出Parameter或Held对象中数字值的范围。(4)Precision属性(shǔxìng)该属性(shǔxìng)指示在Parameter对象中数字值或数字Field对象的精度。(5)Size属性(shǔxìng)该属性(shǔxìng)表示Parameter对象的最大大小(按字节或字符)。(6)Value属性(shǔxìng)该属性(shǔxìng)指示赋给Field、Parameter或Property对象的值。第十八页,共21页。12.8Fields集合和Field对象Fields集合包含Recordset对象的所有Field对象。Recordset对象包括Field对象组成Fields集合。每个Fields对象对应其中的一列。在通过调用集合上的Refresh方法打开Recordset前可以填充(tiánchōng)Fields集合。1.Fields集合的方法及
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 污染控制题目及详解
- 资产评估师财务会计试卷及详解
- 钳工技能试题及分析
- 2024-2025学年湖南长沙一中高一下学期期中语文试题含答案
- DB36-T 1492-2021 家具产业集群发展水平评价
- 腹腔镜肾部分切除术护理查房
- CRBN-ligand-895-PEG2-N3-生命科学试剂-MCE
- 2026年宠物美容服务套餐定价模型:策略、实践与趋势
- 2026年写字楼中央空调维修合同协议
- 工地儿童免责协议书
- 2026中国纸浆期货进口依存度与库存周期研究
- 中旅集团招聘考试题目及答案
- 储备粮轮换工作制度
- T-CHES 158-2025 泵站标准化管理技术导则
- 2026年中国化工经济技术发展中心招聘备考题库及一套完整答案详解
- (完整版)2026年劳动法实施细则全文
- 2026年医院卫生院家庭医生签约服务工作实施方案
- 2025年中国南方航空地服笔试及答案
- 2025江苏苏州交投建设管理有限公司招聘10人参考笔试题库附答案解析
- 2025年《中国脂肪肝防治指南》
- 预检分诊护理礼仪
评论
0/150
提交评论