ASP 动态网页设计课件 第9章 ASP与数据库操作_第1页
ASP 动态网页设计课件 第9章 ASP与数据库操作_第2页
ASP 动态网页设计课件 第9章 ASP与数据库操作_第3页
ASP 动态网页设计课件 第9章 ASP与数据库操作_第4页
ASP 动态网页设计课件 第9章 ASP与数据库操作_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ASP动态网页设计第9章ASP与数据库操作9.1ADO概述

9.2创建ODBCDSN文件

9.3Connection对象

9.4Command对象

9.5RecordSet对象9.6数据库查询和排序9.7记录的插入、更新和删除操作3.记忆力强计算机的存储器类似于人的大脑,可以“记忆”(存储)大量的数据和信息,在计算的同时,还可以把中间结果存储起来,供以后使用。第9章ASP与数据库操作学习目标1.明确什么是ADO,了解ADO的对象和操作流程。2.掌握配置数据库DSN的方法。3.掌握Connection对象的属性和方法,以便管理数据库的连接。4.掌握Command对象的属性和方法,以便完成数据库操作。5.掌握Recordset对象的属性和方法,以便管理数据库记录集。6.运用SQL语句实现数据库的查询和排序。7.掌握运用SQL语句和记录集的方式,完成记录的插入、更新和删除操作。9.1ADO概述

ADO(ActiveXDataObject)是ASP内置的一个用于数据库访问的组件,是ASP的核心技术之一。Web数据库则是Web技术和数据库技术相结合的产物,网上办公、电子商务、在线注册与搜索等都需要利用Web数据库来存储和管理数据。ASP与ADO相结合,完整地解决了网页与数据库的连接与集成问题,实现了客户端浏览器对Web数据库灵活而有效的访问,从而提供了对各种Web应用的强大支持。9.1ADO概述9.1.1ADO的对象9.1.2ADO的操作流程9.1.1ADO的对象ADO提供的七个对象与四个数据集合分述如下:1.Connection对象负责与指定的数据来源进行连接,Connection对象除了与数据来源进行连接之外,它还可以通过事务(Transaction)来确保在事务中所有数据来源变更的全部成功。2.Command对象负责对数据库提供请求,也就是传递指定的SQL命令。换言之,Command对象必须经由一个已经建立的联机(Connection对象)发出数据处理语言(DML,DataManipulationLanguage)来操作数据来源的数据,这些命令通常包括INSERT(新增记录)、DELETE(删除记录)、UPDATE(更新记录)、或是SELECT(以RecordSet的形式选取数据)等。除此之外,您也可以通过Command对象对数据库发出数据定义语言(DDL,DataDefinitionLanguage),例如CREATETABLE(建立数据表)、DROPTABLE(删除数据表)或ALTERTABLE(修改数据表结构)等。3.Parameter对象负责传递Command对象所需要的SQL命令参数。4.RecordSet对象负责浏览与操作从数据库取出的数据。换言之,RecordSet对象就像是一个二维的数组,数组的每一行代表一个数据行,而每一个数据行包含一个或多个数据域位,这里的一个数据字段就是代表一个Field对象。5.Field对象代表指定的RecordSet对象的数据字段。6.Property对象代表ADO的各项对象属性值。换言之,每一个ADO对象都会有一组描述或控制对象行的属性。7.Error对象负责记录联机过程所发生的错误信息。8.Errors数据集合Connection对象包含Errors数据集合,在Errors数据集合中包含数据来源响应万一失败所建立的Error对象。9.Parameters数据集合Command对象包含Parameters数据集合,在Parameters数据集合中包括Command对象所有的Parameter对象。10.Fields数据集合RecordSet对象包含Fields数据集合,在Fields数据集合中包含RecordSet对象的所有Field数据字段对象。11.Properties数据集合Connection对象、Command对象、RecordSet对象与Field对象均包含一个Properties数据集合,在Properties数据集合中包含所对应Connection对象、Command对象、RecordSet对象与Field对象的Property对象。9.1.2ADO的操作流程利用ASP与ADO访问Web数据库的过程如图9.2创建ODBCDSN文件在开始使用ADO之前,首先要创建一个与ADO能交互连接的数据库。这通常要通过在Web服务器上创建数据源名DSN来实现。而数据源的创建又与ODBC有着密切关系,那么我们先来看看到底什么是ODBC。9.2创建ODBCDSN文件9.2.1ODBC简介9.2.2配置数据库文件的DSN9.2.1ODBC简介

Microsoft公司的OpenDataBase

Connectivity(ODBC)API是最早商品化的WindowsOpenService(开放服务)API(WOSA)产品之一。WOSA是一套Windows应用程序的编程界面,其目的是简化Windows环境下很多过程的设计并使其标准化。ODBCAPI由WindowsDLL构成,WindowsDLL包括一系列的函数可以对所有适合ODBC驱动程序的数据库类型提供两种版本的数据库服务:①安装、设置和清除ODBC数据源。②ODBC驱动管理程序为数据源打开ODBC驱动程序并将SQL语句传送给驱动程序。9.2.2配置数据库文件的DSN任务引入】实现与数据库的链接是完成ADO对数据库操作的首要任务,配置数据源名(DataSourceName,DSN)是任务的前提。【任务目标】通过“控制面板”中的ODBC驱动程序对已经存在的数据库进行配置DSN操作。【任务内容】运用Access创建一个名为MyList.mdb的数据库,并创建一张数据表取名为MyTable,

再在表中录入若干条记录,最后配置该数据库的DSN。【任务分析】该任务可以分成两个大的步骤:①创建数据库和数据表,并录入记录。②为该数据库文件创建系统DSN。【程序代码】①创建数据库文件MyList.mdb,并创建数据表MyTable,然后在其中录入6条记录。MyList.mdb数据库由以下字段构成:编号、姓名、婚否、工资、生日、电话、住址。各字段名称及类型见图所示。②在数据表中录入如图所示的7条记录。③在控制面版中,双击“ODBC数据源”图标;在弹出的“ODBC数据源管理器”对话框(见图)中选择“系统DSN”标签。④在“系统DSN”标签页中单击“添加”按钮;在弹出的“创建新数据源”对话框(见图9.8)中选中“MicrosoftAccessDriver(*.mdb)”选项,单击“完成”按钮。⑤在弹出的“ODBCMicrosoftAccess安装”对话框(见图9.9)中填写各栏所需的数据。“数据源名”一栏为必填项(如此处填person),所填数据将成为ADO所连接的数据源名,ADO就是通过该名对数据库进行操作。“描述”栏可以不填。在“数据库”一栏中,单击“选取”按钮,打开“选定数据库”窗口(图9.10),选取进行操作的实际数据库。该数据库既可以位于本地机,也可以位于网络的共享目录中。选定数据库后再返回“ODBCMicrosoftAccess安装”对话框,“数据库”栏中会有所选定数据库的详细地址。连续按确定,依次关闭各对话框,返回控制面板。【结果示范】经过上述操作,就配置好了一个名为person的数据源(在图9.11的窗口出现),该数据源连接一个Access2003数据库MyList.mdb。后面的章节中我们常要用到。9.3Connection对象

ADO组件中的Connection对象负责与实际数据库的连接动作,其他所有对象都必须依赖此对象实现连接后才能发挥各自的功能。由于Connection对象和Command对象以及Recordset对象都是属于ADO组件的对象,因而它们都需要首先用Server对象的

CreatObject方法创建一个对应的实例后才能使用。9.3Connection对象9.3.1Connection对象运用实例9.3.2Connection对象的属性9.3.3Connection对象的方法9.3.4打开和关闭数据库连接9.3.1Connection对象运用实例【任务引入】创建并配置好某个数据库的系统DSN之后,自然应该对该数据库进行相应操作,通过此任务我们来看看是怎样通过Connection对象来访问数据库的。【任务目标】理解Connection对象常用属性和方法的使用。【任务内容】利用上面已建好的Access2003数据库MyList.mdb和配置好的数据源名person,建立与数据库的连接,并向数据库中追加一条记录。【任务分析】该任务可以分成两个大的步骤:①打开并连接数据库。②向数据库中追加一条记录。【程序代码】<%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%><html><head><title>插入记录</title></head><body><%ConstRecordsAffected=0'定义符号常量

ConstadCmdText=1SetMyConn=Server.CreateObject("ADODB.Connection")

MyConn.ConnectionString="DSN=person;UID=;PWD=;"

MyConn.Open'打开与数据库的连接CommandText="INSERTINTOMyTable(编号,姓名,婚否,工资,生日,电话,"&_"住址)Values(8,'刘小小',yes,562,1978-4-25,54818751,'芙蓉路158号')"

MyConn.Execute

CommandText,RecordsAffected,adCmdText

MyConn.Close'关闭与数据库的连接

SetMyConn=Nothing'释放Connection对象

Response.Write"已向数据库中追加了一条记录!"%></body></html>【结果示范】

【任务小结】从上述任务我们可以看出,要对数据库进行操作,运用Connection对象建立并打开数据库连接是首要环节,下面我们就来具体了解Connection对象的方法和属性。【任务引入】创建并配置好某个数据库的系统DSN时,可能会出现只允许某个特定用户根据密码才能访问数据库,那么在建立并打开数据库连接时就需要加入用户ID和用户密码信息,否则不能打开数据库。Connection对象的ConnectionString属性是如何来加载这些数据信息的呢?【任务目标】掌握ConnectionString属性的使用。【任务内容】根据前面9.2.2小节中已建好的Access2003数据库MyList.mdb和配置好的数据源名person,并设置了用户ID为“test”,登录密码为“123456”。下面运用Connection对象的ConnectionString属性来打开该数据库文件。9.3.2Connection对象的属性1.ConnectionString属性【任务分析】该任务的注意事项:①运用ConnectionString属性连接数据源名person,以便打开并连接数据库。②加载用户ID和登录密码。【程序代码】SetMyConn=Server.CreateObject("ADODB.Connection")

MyConn.ConnectionString="DSN=person;UID=test;PWD=123456;"

MyConn.Open'打开与数据库的连接【任务小结】ConnectionString

:包含用于连接数据库的信息字符串,该参数由分号分隔的一系列“参数=值”语句组成。UID:表示登录数据库时所指定的用户账号。PWD:表示登录数据库时所指定的用户密码。ConnectionTimeout属性用来设置Connection对象的Open方法试图与数据库连接的最长等待时间,系统默认值为15秒。如果将此值设置为0,系统则会一直等待直到连接成功为止。此属性的设置必须在连接之前或取消连接之后。格式为:Connection.ConnectionTimeout=seconds2.ConnectionTimeout属性该属性用来设置执行Connection对象的Execute方法时的最长等待时间,默认值为30秒。如果此值设置为0,系统则会一直等待直到执行结束为止。此属性的设置必须在Execute方法执行之前。格式为:Connection.CommandTimeout=seconds3.CommandTimeout属性

该属性用来取得或设置Connection对象提供者的名称,即数据库管理程序的名称。ADO默认的Provider属性值为:MicrosoftOLEDBProviderForODBC,它负责管理所有以OLEDB方式连接的数据库。4.Provider属性5.其他属性属性说明Mode设置连接的权限,例如只读或只写Attributes设置或返回Connection对象的特性CursorLocation设置或返回游标处理的位置DefaultDatabase设置或返回Connection对象默认的数据库IsolationLevel设置Connection对象的事务隔离级别,只写State返回Connection对象的当前状态,只读Version返回当前ADO的版本信息,只读1.Open方法Connection对象使用Open方法打开与数据库的连接,只有在使用本方法之后,才能打开记录集,对数据表做相应操作。格式为:Connection.Open

ConnectionString

,UID,PWD2.Execute方法

当使用Connection对象打开与数据库的连接后,就可以直接使用Execute方法执行有关的SQL语句或数据库的存储过程来对数据库进行操作。9.3.3Connection对象的方法3.Close方法Connection对象的Close方法负责关闭一个已经启动的连接对象及其相关的对象,语句格式为:

Connection.Close关闭一个连接对象并非将其从内存中删除,在以后可以再重新打开。若要将被关闭的连接对象彻底从内存中删除,应使用Set命令将该对象变量设置为Nothing。【任务引入】在前面的小节中,我们通过创建系统DSN文件与指定数据库之间建立连接,并对数据库进行相关操作。在此我们考虑,若没有配置DSN,又应该如何建立并打开数据库呢?【任务目标】掌握通过脚本程序,直接建立数据库连接的方法。【任务内容】运用VBScript服务器端脚本程序,直接建立与指定数据库“MyList.mdb”的连接。【任务分析】该任务的注意事项:①提供一个数据库文件,并知道它的数据库类型和名称。②在程序中需要指明打开该数据库文件所需的驱动程序以及数据库的位置。9.3.4打开和关闭数据库连接【程序代码】SetObjconn=Server.CreateObject("ADODB.Connection")

str="driver={MicrosoftAccessDriver(*.mdb)};dbq="&_server.mappath("MyList.mdb")

Objconn.Open

str【任务小结】由于数据库“MyList.mdb”是用Access2003创建的,所以打开该数据库就应该选用微软公司默认的驱动程序“MicrosoftAccessDriver(*.mdb)”,而通过Server对象的MapPath方法来获取该数据库的物理路径。上述任务中,我们采用的是直接ODBC连接方式,其实还有一种数据库连接方式,被称为OLEDB方式,其效率比ODBC方式更高。具体代码如下:SetObjconn=Server.CreateObject("ADODB.Connection")

str="provider=Microsoft.jet.oledb.4.0;datasource="&_server.mappath("MyList.mdb")

Objconn.Open

str9.4Command对象从英语字面的意思就可以看出,Command是用来做命令执行和参数传递的。而Command对象的批量参数传递,StoredProcude执行等灵活而强大的功能也是它受到青睐的原因。Command对象主要是向SQL语句、StoredProcude传递参数,依靠SQLServer的强大功能来完成数据库的操作;而RecordSet对象可以说是微软重新封装了数据对象,并提供了一系列的方法和属性来简化数据库的编程。因为Command对象就是将SQL产生的记录集作为整体来处理,所以性能较为优越,其可重应用性也非常的好。下面具体介绍Command对象的属性、方法和集合。1.CreateParameter方法用来产生一个Parameter对象,常用的写法为Setparam=comm.CreateParameter(name,

type,direction,size,value),其中name为参数的引用名,在后面引用参数的值时会用到;type为指定参数的类型,例如整数为adInteger;direction指定参数是输入还是输出,相应的值为adParamInput和adParamOutput;size指定参数的最大长度或最大的值;value指定参数的值。可以将各个选项分开来写,下面的两种写法是等价的:Setparam=comm.CreateParameter(name,type,direction,size,value)

和setparam=comm.CreateParameter(name,type,direction,size)param.value=value下面的方法灵活性更大。请注意,在使用了CreateParameter方法后只是建立了新的parameter对象,还需使用Parameter对象的append方法将该参数传递给Command对象。2.Execute方法在指定了CommandText,并将参数传递出去后,用Execute方法来完成执行。与Connection对象的Execute方法类似,都是负责执行给定的SQL语句或存储过程。3.ActiveConnection属性用来指定与Connection对象的连接,这里的一个技巧就是不同的Command对象指向同一个Connection连接。4.CommandText属性CommandText值可以是一条SQL命令句,可以是一个表名,也可以是一个StoredProcedure名。5.CommandType属性CommandType值由CommandText相应值的给出,分别为adCmdText,adCmdTable,adCmdStoredProc。与前面在讲Connection对象的Execute方法中相应的选项含义相同。6.CommandTimeOut属性设定命令执行超时的值。7.Parameters集合就是参数对象的集合,它主要有Item方法、Append方法,和Count属性,用法与Property对象及Error对象的相应属性和方法类似。9.5RecordSet对象

RecordSet对象是ADO中一个极为重要且普遍使用的对象,负责从数据库中取得所需的记录数据并创建一个记录集合。用户在访问数据库时,一般先通过Connection对象建立与指定数据库的连接,再按所需的要求通过相应的SQL命令从数据库中提取数据创建一个RecordSet记录集合,然后即可利用RecordSet对象的各种属性和方法对这个记录集合中的数据进行各种操作处理。9.5RecordSet对象9.5.1RecordSet对象运用实例9.5.2RecordSet对象的属性9.5.3RecordSet对象的方法【任务引入】在网站搜索、用户管理或论坛留言管理时,如果记录数非常多,把这些记录全部显示在一张网页上,是非常不明智的,浏览的时候会非常不方便,这时应该采用分页显示记录的方法,将所有记录分多页显示。【任务目标】体会RecordSet对象中多种方法和属性的含义及使用方式。【任务内容】把指定数据库“Guest”中的数据表“information”里的记录分页显示,限定每页只显示5条记录。【任务分析】①创建名为“Guest”的数据库及名为“information”的数据表,并录入多条记录。②连接并打开数据库“Guest”,并且打开数据表“information”。③运用Recordset对象提供的3个专门支持分页处理的属性PageSize

、PageCount

、AbSolutePage属性及其他属性和方法,实现记录分页显示输出。9.5.1RecordSet对象运用实例【结果示范】

【任务小结】上述程序采用直接ODBC驱动方式连接数据库,并打开记录集。然后使用RecordSet对象提供的多种属性和方法,控制记录指针逐条显示出记录直到表中的最后一条记录显示输出为止,并且保证每页最多只显示5条记录。记录集可以用来代表表中的记录。一个记录集包含一条或多条记录,每个记录包括一个或多个字段。在任何时候,只有一条记录是当前记录。属性功能说明AbsolutePage指定当前页AbsolutePosition用来设置或读取当前记录在记录集中的位置顺序号ActiveConnection指示指定的RecordSet对象当前所属的Connection对象BOF表明当前位置在记录集中的第一条记录之前Bookmark返回惟一标识RecordSet对象中当前记录的书签9.5.2RecordSet对象的属性CursorLocation设置或返回记录集中记录指针的位置CursorType指示在RecordSet对象中使用的记录指针类型LockType设置记录写入数据库的方式EOF表明当前位置在记录集中的最后一条记录之后MaxRecords限制从数据库中查询返回到一个记录集中的记录数目PageCount返回记录集中的逻辑页数PageSize指定一个逻辑页中的记录个数,默认值为10条RecordCount表示一个记录集中的记录总数Sort指定对RecordSet记录集进行排序的一个或多个关键字段名,并可指定升序或降序排列Filter设置对RecordSet记录集进行过滤的条件规则在Recordset对象众多属性中,我们重点关注以下几个属性:1.CursorType属性2.LockType属性3.BOF属性4.EOF属性5.Sort属性6.Filter属性9.5.3RecordSet对象的方法方法功能说明AddNew向记录集中添加一条新记录Delete从记录集中删除一条记录Find在记录集中查找指定的记录GetRows将Recordset对象的多个记录读取到数组中MoveNum在记录集中向前或向后移动指定数目的记录数MoveFirst移动到记录集的第一条记录MoveLast移动到记录集的最后一条记录MoveNext移动到记录集的下一条记录MovePrevious移动到记录集的上一条记录Open打开记录集Update保存对当前记录所做的修改UpdateBatch当记录集处于批量更新模式时,保存对该批记录的修改CancelUpdate取消对Recordset对象中某条记录的更新CancelBatch取消批处理更新特别注意下列方法:1.Open方法一般使用Recordset对象的Open方法创建一个记录集。其语法格式为:RecordSet.OpenSource,ActiveConnection

,CursorType

,LockType游标类型及记录锁定方式请参看9.5.2小节表9-5、表9-6内容。

2.MoveNum方法Num为具体数字,表示将指针由当前位置向下移动Num条记录,此时记录指针实际指向的是第Num+1条记录。例如:新打开一张数据表,然后执行命令Objrs.Move9,此时若执行输出记录命令,实际输出的是第10条记录内容。9.6数据库查询和排序SQL主要具备以下优点:①SQL是一种一体化的语言,提供了完整的数据定义和操作功能。②SQL具有完备的查询功能。③SQL非常简洁,易学易用。④SQL是一种高度非过程化的语言,用户只需说明想要做什么操作即可。⑤SQL的执行方式多样,既能以交互命令方式直接使用,也能嵌入到各种高级语言中使用。尽管使用方式可以不同,但其语法结构是一致的。⑥SQL不仅能对数据表进行各种操作,并可对视图进行操作。9.6数据库查询和排序9.6.1数据库查询和排序9.6.2数据库查询中的通配符使用及多表查询9.6.1数据库查询和排序【任务引入】对数据库的使用一般不是简单的直接输出,而是需要对某些特定记录做加工处理,我们往往使用SQL语句依据指定条件对记录进行查询或排序。【任务目标】掌握使用SQL语句实现对数据表中记录的查询和排序等操作。【任务内容】按指定要求完成输出部分字段、查询特定记录、将所有记录以某个字段为关键字排序、输出指定记录条数以及生成虚拟字段等相关操作。【任务分析】用于数据库查询的Select命令是最常用的SQL命令,它的基本语法格式为:Select<输出项列表>From<表名>[Where<筛选条件>][OrderBy<排序关键字>[ASC|DESC]]【任务小结】①其中的Select短语和From短语是必须存在的,而用方括号括起来的Where短语和OrderBy短语是可选的。②Select短语指明要在查询后输出哪几项内容,各项内容之间应有逗号隔开。“Select*”表示输出原表中所有字段内容;“SelectTopn”表示输出排列在前面的n条记录。③From短语指明要查询的数据来自哪个数据表。④Where短语用来指定查询的筛选条件,该条件可以是任何合法的逻辑表达式。⑤OrderBy短语用来设定对查询结果按指定的关键字排序后输出。ASC为升序,DESC为降序,默认为升序。9.6.2数据库查询中的通配符使用及多表查询【任务引入】对数据库的使用一般不是简单的直接输出,而是需要对某些特定记录做加工处理,我们往往使用SQL语句依据指定条件对记录进行查询或排序。【任务目标】掌握使用SQL语句实现对数据表中记录的查询和排序等操作。【任务内容】按指定要求完成输出部分字段、查询特定记录、将所有记录以某个字段为关键字排序、输出指定记录条数以及生成虚拟字段等相关操作。【任务分析】用于数据库查询的Select命令是最常用的SQL命令,它的基本语法格式为:Select<输出项列表>From<表名>[Where<筛选条件>][OrderBy<排序关键字>[ASC|DESC]]1.SQL查询语句中的通配符在SQL查询语句中,除了前面看到的比较运算符和逻辑运算符之外,SQL语法也支持LIKE运算符,并提供了四种通配符,其含义如下表:通配符功能说明%包含零个或更多字符的任意字符串_任何单个字符[]指定范围(例如

[a-f])或集合(例如

[abcdef])内的任何单个字符[^]不在指定范围(例如

[^a-f])或集合(例如

[^abcdef])内的任何单个字符2.SQL多表查询在一个数据库中往往不止一个数据表,客户的资料通常分类存储在多张数据表中,各表的关键字段相同,能够使用该关键字段一并查询或删除多张表中的某条记录的所有字段信息。这样可以大大提高数据库访问的效率,同时也能减少数据库备份时花费的时间。下面我们来具体看一下如何在数据库的两张数据表中提取字段信息:在“Guest”的两张数据表中查询编号相同的记录,将记录的所有字段一并输出。其SQL查询命令为:Sql=“SelectInformation.*,Score.*FromInformationinnerjoinOn

Information.编号=Score.编号”9.7记录的插入、更新和删除操作对数据库的操作除了前面讲述的查询和排序外,还有对数据库中记录的新增、更新和删除,这些操作事实上都有两种方式来完成。一是使用SQL语句的INSERT、DELETE、UPDATE指令来实现;二是使用Recordset对象的AddNew、UpDate、Delete方法来实现。9.7记录的插入、更新和删除操作9.7.1记录的插入9.7.2记录的更新9.7.3记录的删除9.7.4表单与数据库9.7.1记录的插入【任务引入】在实际运用中,我们会经常需要向数据库中追加记录,下面我们就来学习如何向数据库中增加一条记录。【任务目标】掌握使用SQL语句中的INSERT指令和Recordset对象的AddNew方法实现新增记录操作。【任务内容】向数据库“db1.mdb”的“xinxi”表中,新增一条记录。【任务分析】在数据表中由于存在关键字字段,所以必须保证关键字字段内容不重复。然后才能运用AddNew方法或INSERT指令实现记录的追加操作。【结果示范】

【任务小结】①每次向数据库中新增的记录都处于数据表的最末尾。②使用Recordset对象的AddNew方法时,先创建一个Recordset对象并调用该对象的AddNew方法添加一条空记录,然后分别为该记录的各个字段赋值,最后再调用Recordset对象的Update方法将所添加的记录数据保存到指定数据表中。9.7.2记录的更新【任务引入】在实际运用中,数据库中的记录不可能是一成不变的,它随时都可能会更新,下面我们就来学习如何更新数据库中的记录。【任务目标】掌握使用SQL语句中的UPDATE指令和Recordset对象的Update方法实现更新记录操作。【任务内容】按要求更新数据库中满足条件的记录部分或所有字段内容。【任务分析】在做更新操作前,必须查看整个数据表中是否有符合条件的一条或多条记录,然后才能更新这些记录的字段内容,若没有找到这样的记录,则不执行更新操作。【程序代码】①使用SQL的UPDATE指令更新记录的代码段。

<%dimobjconn,objrs,str,sqlsetobjconn=server.CreateObject("adodb.connection")

str="provider=microsoft.jet.oledb.4.0;data_source="&server.MapPath("db1.mdb")

objconn.open

str

sql="updatexinxiset年龄=29where姓名='咖啡'"

objconn.execute

sql%>②使用RecordSet对象的Update方法更新记录的代码段。<%dimobjconn,objrs,str,sqlsetobjconn=server.CreateObject("adodb.connection")

str="provider=microsoft.jet.oledb.4.0;data_source="&server.MapPath("db1.mdb")

objconn.open

strsetobjrs=server.CreateObject("adodb.recordset")

objrs.open"xinxi",objconn,3,3whilenotobjrs.eof ifobjrs("姓名")="客观"then

objrs("姓名")="扩大经过"

objrs("年龄")=28 endif

objrs.movenext wend

objrs.updatebatch%>【结果示范】

【任务小结】①查找整个数据表,只有找到满足条件的记录后才能执行更新操作。②采用RecordSet对象的更新记录方法对记录进行更新操作时,若满足条件的记录有多条,此时应使用Updatebatch方法对这些记录做批处理。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论