您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 网页制作电子教案CH12
ADO是ActiveDataObject缩写,是针对当前Microsoft软件所支持的数据进行操作的最有效、最简单、功能最强大的方法。它能自如地控制数据的显示、查询以及对数据的修改、删除和添加。通过本章学习,应该掌握以下内容:1.ADO各种对象和集合2.利用ADO存取组件进行数据库连接利用Dreamweaver编辑各种超连接的方法第12章利用ADO实现网页与数据库的链接12.1利用ADO编写新闻发布系统新闻发布系统能带给浏览者许多的方便,就像布告栏一样,可以让在校师生和外界单位了解学校当天或是最近发生的大事,以及公布短期内学校的主要工作计划等等。具体来说,使用ADO数据库链接技术来完成输入新闻和查看新闻,需要用链接对象的Open方法来建立数据库链接,用链接对象的Execute方法来执行SQL查询语句和操作命令(把新闻信息保存到数据库、或者从数据库中查找新闻信息),还需要使用ADO记录集来显示新闻(把数据库中找出来的新闻以一定的格式显示到新闻发布系统)。书上给出了示例中新闻发布系统得源代码以及一些解释。12.2ADO概述ADO定义了三个一般对象:Connection对象、Command对象和Recordset对象,通过这三个对象,用户可以方便地建立数据库连接、执行SOL查询及存取查询的结果。下面列出了ADO的重要接口:Connection(连接):该对象代表打开的文件与数据源的连接。Error(错误集):包含在响应涉及提供者的单个失败时产生的所有Error对象。Command(命令):该对象定义了对数据源执行的指定命令。Parameter(参数):这个接口表示传给Command的参数。Recordset(游标):这是功能最强大但最复杂的接口,它含有包含数据的游标。用户可使用Recordset对象操作来自提供者的数据。Field(字段):该接口表示Recordset对象中的某一列数据,同时能返回游标对象的一些关于数据本身的属性和参数。Property(属性):包含特定对象实例的所有Property对象。12.3Connection对象Connection对象是数据源的一个开放连接。它跟踪正在使用的DSN连接保持的时间以及其他定义的数据库的属性。12.3.1Connection对象的方法1.Open方法Connection对象的Open方法用来初始化一个连接,只有使用了Connection对象的Open方法后,Connection对象才会真正存在,然后才能发命令对数据源产生作用。通常在使用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%2.Close方法当调用了Close方法后,系统就停止了同数据源之间的连接,并且释放与连接有关的系统资源。当调用此方法时,不只是关闭Connection对象,而且还关闭了其他正在使用该Connection对象的ADO对象。不过Close方法只是释放与其相关的系统资源,Connection对象本身并没有释放。因此,一个关闭的Connection对象还可以接着用Open方法打开,而不用再次创建。要真正释放所有其占用的资源,只需:%conn.CloseSetconn=nothing%3.BeginTrans方法ADO的一个重要的功能是执行并控制数据源的事务操作。事务即在一次操作中对数据库的多次写的动作。一次事务活动要么全部成功,要么全部失败。使用事务的好处在于它能提供很好的机会优化对数据源进行写操作的过程。它让ADO知道任何对数据源的修改还都没有写到硬盘上,还在缓冲区中。往缓冲区中写东西要比硬盘快得多,这样就能够大大的提高系统性能。4.CommitTrans方法当BeginTrans方法被调用后,数据并没有写到硬盘,所以Connection调用CommitTrans方法把所有的数据写到硬盘上。该方法把一次事务的操作一次全部写到硬盘上。然后就关闭此次事务。5.Execute方法Connection的主要任务是在最高层控制与数据源之间的交互作用,但是该对象也能执行SQL语句及存储过程。但是利用Connection对象返回数据时,要抽取的信息是基本的游标即只能读和只能向前的游标。使用Execute方法的基本语句是:SetmyRecordset=Conn.Execute(CommandText.RecordAffected.Options)其中:CommandText:是一个字符串,它包含一个表名、或某个将被执行的SQL语句。RecordAffected:是个变量,数据提供者将它返回此次操作所影响的记录数。Options:用来指定Commandstring参数的性质。6.RollbackTrans方法这个方法和CommitTrans方法相反,它是取消此次事务以来对数据源所做的所有操作,并不写入数据源。同CommitTrans方法一样,调用此方法,本次事务结束。12.3.2Connection的属性Connection对象的属性是用来控制高级的数据处理。1.Attributes属性该属性定义了对象一个或多个特点。对于Connection对象来说,Attributes属性控制着事务成功或失败后Connection要如何向数据库写数据。如果Attributes设置为262144或者adX-actAbortRetaining的ADODB的常量,那么如果事务被取消,另一个事务会自动启动。2.Mode属性Mode属性用来表示连接的写权限,只能在Connection对象没有打开的情况下进行设置。3.Version属性该属性用来查询ADO的版本号。4.Provider属性该属性用来设置或返回数据来源的名字。它的缺省值是ODBC数据来源,对于OLEDB,它的返回值为“MSDASQL”。5.CommandTimeout属性该属性定义了允许对数据源的操作终止并产生一个错误的等待时间。可用它的属性来定义连接业务很大或服务器很忙时如何操作。6.Connectionstring属性该属性将返回一个字符串,它包含创建数据连接时所用的所有信息。它可以是DNS,也可以是连接数据源时的所有参数。7.DefaultDatabase属性使用DefaultDatabase属性可设置或返回指定Connection对象上默认数据库的名称。如果有默认数据库,SQL字符串可使用非限定语法访问该数据库中的对象。如要访问DefaultDatabase属性中指定数据库以外的数据库中的对象,对象名必须与所需的数据库名称匹配。连接时,提供者将默认数据库信息写入DefaultDatabase属性。某些提供者对于每个连接只允许一个数据库,在此情况下将不能更改DefaultDatabase属性。12.4Recordset对象Recordset是ADO的一个非常重要的对象。ADO一半以上的文档都是关于Recordset的。12.4.1Recordset方法1.打开、关闭和复制Recordset的方法(1)Open方法Open方法是用来打开一个给予ActiveConnection和Source属性的Recordset。在把连接和原信息作为参数传给Recordset的Open方法时,游标被打开且该方法所有相应的属性值也被继承下来。(2)Close方法Close方法用于关闭Recordset对象并释放相关资源。同Connection对象一样,在调用setRecordSet=nothing之前,它仍然存在,只需要重新打开,而不需要创建。在允许关闭当前编辑的记录前,必须首先调用Cancelupdate或Update方法,否则会出现错误。但是,如果以批量模式更新记录,那么对缓冲区记录所做的修改将全部丢失。(3)Clone方法Clone方法用来创建一个Recordset对象的完全拷贝。采用该方法,可以为任何Recordset维持多个当前的记录。但是只有所用的Recordset类型允许使用BookMa-rks时才能使用这种方法。2.编辑修改数据的方法(1)addNew方法addNew方法用来向数据库中增加新纪录。调用该方法时即在Rec-ordset中开始一个新行,并将指针移到行首以准备加入新的数据。是效率最低的一种修改方法,最好用SQL来实现。(2)Delete方法Delete方法用来删除当前记录。它与addNew方法一样效率很低,但是它能够批量删除。当在批量模式相关联的Recordset中使用Delete方法时,Delete方法只是将当前记录作上删除标记。通过这种方法Recordset可以处理数据缓冲集合。(3)Update方法Update方法表示将对Recordset对象中的当前记录的任何修改保存在数据源中,条件是Recordset能够允许更新且不是工作在批量更新模式下。(4)CancelUpdate方法CancelUpdate方法用来取消在调用Update方法前所作的一切修改。(5)UpdateBatch方法如果工作在批量更新模式下,该方法将取消对Recordset的修改。当取消一个批量操作时,可以指定缓冲区的一个子集,以采用CancelBatch方法的一些Affe-ctrecords变量在其上面的操作。12.4.2Recordset属性1.MarshalOptions属性该属性指示要被调度返回服务器的记录。2.AbsolutePage属性该属性指定当前记录所在的页。3.AbsolutePosition属性该属性指定Recordset对象当前记录的序号位置。4.Bookmark属性该属性返回唯一标识Recordset对象中当前记录的书签,或者将Reeordset对象的当前记录设置为由有效书签所标识的记录。5.CacheSize属性该属性指示缓存在本地内存中的Recordset对象的记录数。6.CursorType属性该属性指示在Recordset对象中使用的游标类型。7.Filter属性该属性为Recordset中的数据指定筛选条件。8.Index属性该属性指示对Recordset对象当前生效的索引的名称。9.LockType属性该属性指示编辑过程中对记录使用的锁定类型。10.MaxRecords属性该属性指示通过查询返回Recordset记录的最大数目。11.PageCount属性该属性指示Recordset对象包含的数据页数。12.PageSize属性该属性指示Recordset中一页所包含的记录数。默认值为10。13.RecordCount属性该属性指示Recordset对象中记录的当前数目。14.Sort属性该属性指定一个或多个Recordset对象中排序的字段名,并指定按升序还是降序对字段进行排序。15.Source属性该属性指示Recordset对象中数据的来源。16.State属性该属性对所有可应用对象,说明其对象状态是打开或是关闭。对执行异步方法的Recordset对象,说明当前的对象状态是连接、执行或是获取。12.5Command对象Command对象表示一个可被数据源处理的命令。这个对象提供一种很简单的方法来处理查询或者存储过程。利用Command对象,可以表示一个命令字符串、存储过程或一个表名。1.Command对象的方法(1)CreateParameter方法CreateParameter方法使用指定属性创建新的Parameter对象,并在执行之前加到Command对象的Parameter集合中。Parameter对象表示传给SQL语句或存储进程的一个数。(2)Execute方法该方法执行在CommandText属性中指定的查询、SQL语句或存储过程。其方法与前面介绍的Conn
本文标题:网页制作电子教案CH12
链接地址:https://www.777doc.com/doc-2143615 .html