配色: 字号:
《ASP动态网页设计》第9章ASP与数据库操作
2023-05-24 | 阅:  转:  |  分享 
  
9.1 ADO概述 9.2 创建ODBC DSN文件 9.3 Connection对象 9.4 Command对象 9.5 Rec
ordSet对象 9.6 数据库查询和排序 9.7 记录的插入、更新和删除操作 3. 记忆力强计算机的存储器类似于人的大脑,可
以“记忆”(存储)大量的数据和信息,在计算的同时,还可以把中间结果存储起来,供以后使用。学习目标1. 明确什么是ADO,了解ADO
的对象和操作流程。2. 掌握配置数据库DSN的方法。3. 掌握Connection对象的属性和方法,以便管理数据库的连接。4. 掌
握Command对象的属性和方法,以便完成数据库操作。5. 掌握Recordset对象的属性和方法,以便管理数据库记录集。6. 运
用SQL语句实现数据库的查询和排序。7. 掌握运用SQL语句和记录集的方式,完成记录的插入、更新和删除操作。 ADO(Acti
veX Data Object)是ASP内置的一个用于数据库访问的组件,是ASP的核心技术之一。Web数据库则是Web技术和数据库
技术相结合的产物,网上办公、电子商务、在线注册与搜索等都需要利用Web数据库来存储和管理数据。ASP与ADO相结合,完整地解决了网
页与数据库的连接与集成问题,实现了客户端浏览器对Web数据库灵活而有效的访问,从而提供了对各种Web应用的强大支持。9.1.1
ADO的对象 9.1.2 ADO的操作流程 9.1.1 ADO的对象ADO提供的七个对象与四个数据集合分述如下: 1.Conn
ection对象负责与指定的数据来源进行连接,Connection对象除了与数据来源进行连 接之外,它还可以通过事务(Transa
ction)来确保在事务中所有数据来源变更的全部成功。2.Command对象负责对数据库提供请求,也就是传递指定的SQL命令。换言
之,Command对象必须经由一个已经建立的联机(Connection 对象)发出数据处理语言(DML,Data Manipula
tion Language)来操作数据来源的数据,这些命令通常包括INSERT(新增记录)、DELETE(删除记录)、UPDATE
(更新记录)、或是 SELECT(以RecordSet的形式选取数据)等。除此之外,您也可以通过Command对象对数据库发出数据
定义语言(DDL,Data Definition Language),例如CREATE TABLE(建立数据表)、DROP TAB
LE(删除数据表)或ALTER TABLE(修改数据表结构)等。3.Parameter对象负责传递Command对象所需要的SQL
命令参数。4.RecordSet对象负责浏览与操作从数据库取出的数据。换言之,RecordSet对象就像是一个二维的数组,数组的每
一行代表一个数据行,而每一个数据行包含一个或多个数据域位,这里的一个数据字段就是代表一个Field对象。5.Field对象代表指定
的RecordSet对象的数据字段。6.Property对象代表ADO的各项对象属性值。换言之,每一个ADO对象都会有一组描述或控
制对象行的属性。7.Error对象负责记录联机过程所发生的错误信息。8.Errors数据集合Connection对象包含Error
s数据集合,在Errors数据集合中包含数据来源响应万一失败所建立的Error对象。9.Parameters数据集合Command
对象包含Parameters数据集合,在Parameters数据集合中包括Command对象所有的Parameter对象。10.F
ields数据集合RecordSet对象包含Fields数据集合,在Fields数据集合中包含RecordSet对象的所有Fiel
d数据字段对象。11.Properties数据集合Connection对象、Command对象、RecordSet对象与Field
对象均包含一个Properties数据集合,在Properties数据集合中包含所对应Connection对象、Command对象
、RecordSet对象与Field对象的Property 对象。9.1.2 ADO的操作流程利用ASP与ADO访问Web数据库
的过程如图 在开始使用ADO之前,首先要创建一个与ADO能交互连接的数据库。这通常要通过在Web服务器上创建数据源名DS
N来实现。而数据源的创建又与ODBC有着密切关系,那么我们先来看看到底什么是ODBC。 9.2.1 ODBC简介 9.2.2
配置数据库文件的DSN 9.2.1 ODBC简介 Microsoft公司的Open DataBase Connect
ivity(ODBC)API是最早商品化的Windows Open Service(开放服务)API(WOSA)产品之一。WOSA
是一套Windows应用程序的编程界面,其目的是简化Windows环境下很多过程的设计并使其标准化。ODBC API由Window
s DLL构成,Windows DLL包括一系列的函数可以对所有适合ODBC驱动程序的数据库类型提供两种版本的数据库服务:① 安装
、设置和清除ODBC数据源。② ODBC驱动管理程序为数据源打开ODBC驱动程序并将SQL语句传送给驱动程序。 9.2.2 配
置数据库文件的DSN任务引入】实现与数据库的链接是完成ADO对数据库操作的首要任务,配置数据源名(Data Source Name
,DSN)是任务的前提。【任务目标】通过“控制面板”中的ODBC驱动程序对已经存在的数据库进行配置DSN操作。【任务内容】运用Ac
cess创建一个名为MyList.mdb的数据库,并创建一张数据表取名为MyTable, 再在表中录入若干条记录,最后配置该数据库
的DSN。【任务分析】该任务可以分成两个大的步骤:① 创建数据库和数据表,并录入记录。② 为该数据库文件创建系统DSN。 【程序代
码】① 创建数据库文件MyList.mdb,并创建数据表MyTable,然后在其中录入6条记录。MyList.mdb数据库由以下字
段构成:编号、姓名、婚否、工资、生日、电话、住址。各字段名称及类型见图所示。② 在数据表中录入如图所示的7条记录。③ 在控制面版中
,双击“ODBC数据源”图标;在弹出的“ODBC数据源管理器”对话框(见图)中选择“系统DSN”标签。④ 在“系统DSN”标签页中
单击“添加”按钮;在弹出的“创建新数据源”对话框(见图9.8)中选中“Microsoft Access Driver (.mdb
)”选项,单击“完成”按钮。⑤ 在弹出的“ODBC Microsoft Access安装”对话框(见图9.9)中填写各栏所需的数据
。“数据源名”一栏为必填项(如此处填person),所填数据将成为ADO所连接的数据源名,ADO就是通过该名对数据库进行操作。“描
述”栏可以不填。在“数据库”一栏中,单击“选取”按钮,打开“选定数据库”窗口(图9.10),选取进行操作的实际数据库。该数据库既可
以位于本地机,也可以位于网络的共享目录中。选定数据库后再返回“ODBC Microsoft Access安装”对话框,“数据库”栏
中会有所选定数据库的详细地址。连续按确定,依次关闭各对话框,返回控制面板。【结果示范】经过上述操作,就配置好了一个名为person
的数据源(在图9.11的窗口出现),该数据源连接一个Access 2003数据库MyList.mdb。后面的章节中我们常要用到。
ADO组件中的Connection对象负责与实际数据库的连接动作,其他所有对象都必须依赖此对象实现连接后才能发挥各自的功能。由
于Connection对象和Command对象以及Recordset对象都是属于ADO组件的对象,因而它们都需要首先用Server
对象的 CreatObject方法创建一个对应的实例后才能使用。9.3.1 Connection对象运用实例 9.3.2 Co
nnection对象的属性 9.3.3 Connection对象的方法 9.3.4 打开和关闭数据库连接 9.3.1 Con
nection对象运用实例【任务引入】创建并配置好某个数据库的系统DSN之后,自然应该对该数据库进行相应操作,通过此任务我们来看看
是怎样通过Connection对象来访问数据库的。【任务目标】理解Connection对象常用属性和方法的使用。【任务内容】利用上
面已建好的Access 2003数据库MyList.mdb和配置好的数据源名person,建立与数据库的连接,并向数据库中追加一条
记录。【任务分析】该任务可以分成两个大的步骤:① 打开并连接数据库。② 向数据库中追加一条记录。【程序代码】<%@LANGUAGE
="VBSCRIPT" CODEPAGE="936"%>插入记录 ><% Const RecordsAffected=0 ''定义符号常量 Const adCmdText=1 Set M
yConn=Server.CreateObject("ADODB.Connection") MyConn.ConnectionSt
ring="DSN=person;UID=;PWD=;" MyConn.Open ''打开与数据库的连接CommandText="I
NSERT INTO MyTable(编号,姓名,婚否,工资,生日,电话, "&_"住址) Values(8,''刘小小'',yes,
562,1978-4-25,54818751,''芙蓉路158号'')" MyConn.Execute CommandText,Rec
ordsAffected,adCmdText MyConn.Close ''关闭与数据库的连接 Set MyConn=Nothing
''释放Connection对象 Response.Write"已向数据库中追加了一条记录!"%>【结
果示范】 【任务小结】从上述任务我们可以看出,要对数据库进行操作,运用Connection对象建立并打开数据库连接是首要环节,下面
我们就来具体了解Connection对象的方法和属性。 【任务引入】创建并配置好某个数据库的系统DSN时,可能会出现只允许某个特定
用户根据密码才能访问数据库,那么在建立并打开数据库连接时就需要加入用户ID和用户密码信息,否则不能打开数据库。Connection
对象的ConnectionString属性是如何来加载这些数据信息的呢? 【任务目标】掌握ConnectionString属性的使
用。【任务内容】根据前面9.2.2小节中已建好的Access 2003数据库MyList.mdb和配置好的数据源名person,并
设置了用户ID为“test”,登录密码为“123456”。下面运用Connection对象的ConnectionString属性来
打开该数据库文件。9.3.2 Connection对象的属性 1.ConnectionString属性【任务分析】该任务的注意事
项:① 运用ConnectionString属性连接数据源名person ,以便打开并连接数据库。② 加载用户ID和登录密码。【程
序代码】Set MyConn=Server.CreateObject("ADODB.Connection") MyConn.Con
nectionString="DSN=person;UID=test;PWD=123456;" MyConn.Open ''打开与数
据库的连接【任务小结】ConnectionString :包含用于连接数据库的信息字符串,该参数由分号分隔的一系列“参数=值”语句
组成。UID:表示登录数据库时所指定的用户账号。PWD:表示登录数据库时所指定的用户密码。ConnectionTimeout属性用
来设置Connection对象的Open方法试图与数据库连接的最长等待时间,系统默认值为15秒。如果将此值设置为0,系统则会一直等
待直到连接成功为止。此属性的设置必须在连接之前或取消连接之后。格式为:Connection.ConnectionTimeout =
seconds 2.ConnectionTimeout属性 该属性用来设置执行Connection对象的Execute方法
时的最长等待时间,默认值为30秒。如果此值设置为0,系统则会一直等待直到执行结束为止。此属性的设置必须在Execute方法执行之前
。格式为:Connection.CommandTimeout = seconds 3.CommandTimeout属性 该属
性用来取得或设置Connection对象提供者的名称,即数据库管理程序的名称。ADO默认的Provider属性值为:Microso
ft OLEDB Provider For ODBC ,它负责管理所有以OLEDB方式连接的数据库。4.Provider属性5.其
他属性1.Open方法 Connection对象使用Open方法打开与数据库的连接,只有在使用本方法之后,才能打开记录集,
对数据表做相应操作。格式为:Connection.Open ConnectionString ,UID,PWD2.Execute方
法 当使用Connection对象打开与数据库的连接后,就可以直接使用Execute方法执行有关的SQL 语句
或数据库的存储过程来对数据库进行操作。 9.3.3 Connection对象的方法3.Close方法 Connectio
n对象的Close方法负责关闭一个已经启动的连接对象及其相关的对象,语句格式为: Connection.Clo
se 关闭一个连接对象并非将其从内存中删除,在以后可以再重新打开。若要将被关闭的连接对象彻底从内存中删除,应使用Set命令
将该对象变量设置为Nothing。【任务引入】在前面的小节中,我们通过创建系统DSN文件与指定数据库之间建立连接,并对数据库进行相
关操作。在此我们考虑,若没有配置DSN,又应该如何建立并打开数据库呢?【任务目标】掌握通过脚本程序,直接建立数据库连接的方法。【任
务内容】运用VBScript服务器端脚本程序,直接建立与指定数据库“MyList.mdb”的连接。【任务分析】该任务的注意事项:①
提供一个数据库文件,并知道它的数据库类型和名称。② 在程序中需要指明打开该数据库文件所需的驱动程序以及数据库的位置。 9.3.4
打开和关闭数据库连接【程序代码】Set Objconn=Server.CreateObject("ADODB.Connecti
on") str="driver={Microsoft Access Driver (.mdb)};dbq="&_ser
ver.mappath("MyList.mdb") Objconn.Open str【任务小结】由于数据库“MyList.mdb”
是用Access2003创建的,所以打开该数据库就应该选用微软公司默认的驱动程序“Microsoft Access Driver
(.mdb)” ,而通过Server对象的MapPath方法来获取该数据库的物理路径。上述任务中,我们采用的是直接ODBC连接方
式,其实还有一种数据库连接方式,被称为OLE DB方式,其效率比ODBC方式更高。具体代码如下:Set Objconn=Serve
r.CreateObject("ADODB.Connection") str="provider=Microsoft.je
t.oledb.4.0;data source="&_server.mappath("MyList.mdb") Objconn.O
pen str 从英语字面的意思就可以看出,Command是用来做命令执行和参数传递的。而Command对象的批量参数传递
,StoredProcude执行等灵活而强大的功能也是它受到青睐的原因。Command对象主要是向SQL语句、StoredProc
ude传递参数,依靠SQL Server的强大功能来完成数据库的操作;而RecordSet对象可以说是微软重新封装了数据对象,并提
供了一系列的方法和属性来简化数据库的编程。因为Command对象就是将SQL产生的记录集作为整体来处理,所以性能较为优越,其可重应
用性也非常的好。下面具体介绍Command对象的属性、方法和集合。1.CreateParameter方法用来产生一个Paramet
er对象,常用的写法为Set param=comm.CreateParameter(name, type,direction,si
ze,value),其中name为参数的引用名,在后面引用参数的值时会用到;type为指定参数的类型,例如整数为adInteger
;direction指定参数是输入还是输出,相应的值为adParamInput和adParamOutput;size指定参数的最大
长度或最大的值;value指定参数的值。可以将各个选项分开来写,下面的两种写法是等价的:Set param= comm.Creat
eParameter(name,type,direction,size,value) 和set param= comm.Creat
eParameter(name,type,direction,size)param.value=value 下面的方法灵活性更大。
请注意,在使用了CreateParameter方法后只是建立了新的 parameter对象,还需使用Parameter对象的app
end方法将该参数传递给Command对象。2.Execute方法在指定了CommandText,并将参数传递出去后,用Execu
te方法来完成执行。与Connection对象的Execute方法类似,都是负责执行给定的SQL语句或存储过程。3.ActiveC
onnection属性用来指定与Connection对象的连接,这里的一个技巧就是不同的Command对象指向同一个Connect
ion连接。4.CommandText属性CommandText值可以是一条SQL命令句,可以是一个表名,也可以是一个Stored
Procedure名。5.CommandType属性CommandType值由CommandText相应值的给出,分别为adCmd
Text, adCmdTable, adCmdStoredProc。与前面在讲Connection对象的Execute方法中相应的
选项含义相同。6.CommandTimeOut属性设定命令执行超时的值。7.Parameters集合就是参数对象的集合,它主要有I
tem方法、Append方法,和Count属性,用法与Property对象及Error对象的相应属性和方法类似。 Rec
ordSet对象是ADO中一个极为重要且普遍使用的对象,负责从数据库中取得所需的记录数据并创建一个记录集合。用户在访问数据库时,一
般先通过Connection对象建立与指定数据库的连接,再按所需的要求通过相应的SQL命令从数据库中提取数据创建一个RecordS
et记录集合,然后即可利用RecordSet对象的各种属性和方法对这个记录集合中的数据进行各种操作处理。9.5.1 Record
Set对象运用实例 9.5.2 RecordSet对象的属性 9.5.3 RecordSet对象的方法 【任务引入】在网站搜索
、用户管理或论坛留言管理时,如果记录数非常多,把这些记录全部显示在一张网页上,是非常不明智的,浏览的时候会非常不方便,这时应该采用
分页显示记录的方法,将所有记录分多页显示。 【任务目标】体会RecordSet对象中多种方法和属性的含义及使用方式。【任务内容】把
指定数据库“Guest”中的数据表“information”里的记录分页显示,限定每页只显示5条记录。【任务分析】① 创建名为“G
uest”的数据库及名为“information”的数据表,并录入多条记录。② 连接并打开数据库“Guest”,并且打开数据表“i
nformation”。③ 运用Recordset对象提供的3个专门支持分页处理的属性PageSize 、PageCount 、A
bSolutePage属性及其他属性和方法,实现记录分页显示输出。9.5.1 RecordSet对象运用实例 【结果示范】 【任
务小结】上述程序采用直接ODBC驱动方式连接数据库,并打开记录集。然后使用RecordSet对象提供的多种属性和方法,控制记录指针
逐条显示出记录直到表中的最后一条记录显示输出为止,并且保证每页最多只显示5条记录。记录集可以用来代表表中的记录。一个记录集包含一条
或多条记录,每个记录包括一个或多个字段。在任何时候,只有一条记录是当前记录。 9.5.2 RecordSet对象的属性在Reco
rdset对象众多属性中,我们重点关注以下几个属性:1.CursorType属性2.LockType属性3.BOF属性4.EOF属
性5.Sort属性6.Filter属性9.5.3 RecordSet对象的方法特别注意下列方法:1.Open方法一般使用Reco
rdset对象的Open方法创建一个记录集。其语法格式为:RecordSet.Open Source ,ActiveConnect
ion ,CursorType ,LockType游标类型及记录锁定方式请参看9.5.2小节表9-5、表9-6内容。 2.Move
Num方法Num为具体数字,表示将指针由当前位置向下移动Num条记录,此时记录指针实际指向的是第Num+1条记录。例如:新打开一
张数据表,然后执行命令Objrs.Move 9,此时若执行输出记录命令,实际输出的是第10条记录内容。SQL主要具备以下优点:①
SQL是一种一体化的语言,提供了完整的数据定义和操作功能。② SQL具有完备的查询功能。③ SQL非常简洁,易学易用。④ SQL是
一种高度非过程化的语言,用户只需说明想要做什么操作即可。⑤ SQL的执行方式多样,既能以交互命令方式直接使用,也能嵌入到各种高级语
言中使用。尽管使用方式可以不同,但其语法结构是一致的。⑥ SQL不仅能对数据表进行各种操作,并可对视图进行操作。9.6.1 数据
库查询和排序 9.6.2 数据库查询中的通配符使用及多表查询 9.6.1 数据库查询和排序【任务引入】对数据库的使用一般不是简
单的直接输出,而是需要对某些特定记录做加工处理,我们往往使用SQL语句依据指定条件对记录进行查询或排序。【任务目标】掌握使用SQL
语句实现对数据表中记录的查询和排序等操作。【任务内容】按指定要求完成输出部分字段、查询特定记录、将所有记录以某个字段为关键字排序、
输出指定记录条数以及生成虚拟字段等相关操作。【任务分析】用于数据库查询的Select命令是最常用的SQL命令,它的基本语法格式为:
Select <输出项列表> From <表名> [Where <筛选条件>] [Order By <排序关键字> [ASC|DE
SC]]【任务小结】① 其中的Select短语和From短语是必须存在的,而用方括号括起来的Where短语和Order By短语是
可选的。② Select短语指明要在查询后输出哪几项内容,各项内容之间应有逗号隔开。“Select ”表示输出原表中所有字段内容
;“Select Top n”表示输出排列在前面的n条记录。③ From短语指明要查询的数据来自哪个数据表。④ Where短语用来
指定查询的筛选条件,该条件可以是任何合法的逻辑表达式。⑤ Order By短语用来设定对查询结果按指定的关键字排序后输出。ASC为
升序,DESC为降序,默认为升序。 9.6.2 数据库查询中的通配符使用及多表查询 【任务引入】对数据库的使用一般不是简单的直接
输出,而是需要对某些特定记录做加工处理,我们往往使用SQL语句依据指定条件对记录进行查询或排序。【任务目标】掌握使用SQL语句实现
对数据表中记录的查询和排序等操作。【任务内容】按指定要求完成输出部分字段、查询特定记录、将所有记录以某个字段为关键字排序、输出指定
记录条数以及生成虚拟字段等相关操作。【任务分析】用于数据库查询的Select命令是最常用的SQL命令,它的基本语法格式为:Sele
ct <输出项列表> From <表名> [Where <筛选条件>] [Order By <排序关键字> [ASC|DESC]]
1.SQL查询语句中的通配符在SQL查询语句中,除了前面看到的比较运算符和逻辑运算符之外,SQL语法也支持LIKE运算符,并提供了
四种通配符,其含义如下表:2.SQL多表查询 在一个数据库中往往不止一个数据表,客户的资料通常分类存储在多张数据表中,各表的
关键字段相同,能够使用该关键字段一并查询或删除多张表中的某条记录的所有字段信息。这样可以大大提高数据库访问的效率,同时也能减少数据
库备份时花费的时间。下面我们来具体看一下如何在数据库的两张数据表中提取字段信息:在“Guest”的两张数据表中查询编号相同的记录,
将记录的所有字段一并输出。其SQL查询命令为:Sql=“Select Information.,Score. From Inf
ormation inner join On Information.编号=Score.编号” 对数据库的操作除了前面讲
述的查询和排序外,还有对数据库中记录的新增、更新和删除,这些操作事实上都有两种方式来完成。一是使用SQL语句的INSERT、DEL
ETE、UPDATE指令来实现;二是使用Recordset对象的AddNew、UpDate、Delete方法来实现。 9.7.1
记录的插入 9.7.2 记录的更新 9.7.3 记录的删除 9.7.4 表单与数据库 9.7.1 记录的插入【任务引入】
在实际运用中,我们会经常需要向数据库中追加记录,下面我们就来学习如何向数据库中增加一条记录。【任务目标】掌握使用SQL语句中的IN
SERT指令和Recordset对象的AddNew方法实现新增记录操作。【任务内容】向数据库“db1.mdb”的“xinxi”表中
,新增一条记录。【任务分析】在数据表中由于存在关键字字段,所以必须保证关键字字段内容不重复。然后才能运用AddNew方法或INSE
RT指令实现记录的追加操作。【结果示范】 【任务小结】① 每次向数据库中新增的记录都处于数据表的最末尾。② 使用Recordset
对象的AddNew方法时,先创建一个Recordset对象并调用该对象的AddNew方法添加一条空记录,然后分别为该记录的各个字段
赋值,最后再调用Recordset对象的Update方法将所添加的记录数据保存到指定数据表中。9.7.2 记录的更新【任务引入】
在实际运用中,数据库中的记录不可能是一成不变的,它随时都可能会更新,下面我们就来学习如何更新数据库中的记录。【任务目标】掌握使用S
QL语句中的UPDATE指令和Recordset对象的Update方法实现更新记录操作。【任务内容】按要求更新数据库中满足条件的记
录部分或所有字段内容。【任务分析】在做更新操作前,必须查看整个数据表中是否有符合条件的一条或多条记录,然后才能更新这些记录的字段内
容,若没有找到这样的记录,则不执行更新操作。【程序代码】① 使用SQL的UPDATE指令更新记录的代码段。 <%dim objco
nn,objrs,str,sql set objconn=server.CreateObject("adodb.connectio
n") str="provider=microsoft.jet.oledb.4.0;data _source="&server.
MapPath("db1.mdb") objconn.open str sql="update xinxi set 年龄=29
where 姓名=''咖啡''" objconn.execute sql%> ② 使用RecordSet对象的Update方法更新
记录的代码段。<%dim objconn,objrs,str,sql set objconn=server.CreateObjec
t("adodb.connection") str="provider=microsoft.jet.oledb.4.0;data
_source="&server.MapPath("db1.mdb") objconn.open str set objrs
=server.CreateObject("adodb.recordset") objrs.open "xinxi",objco
nn,3,3 while not objrs.eof if objrs("姓名")="客观" then objrs(
"姓名")="扩大经过" objrs("年龄")=28 end if objrs.movenext wend
objrs.updatebatch%> 【结果示范】 【任务小结】① 查找整个数据表,只有找到满足条件的记录后才能执行更新操作。②
采用RecordSet对象的更新记录方法对记录进行更新操作时,若满足条件的记录有多条,此时应使用Updatebatch方法对这些
记录做批处理。9.7.3 记录的删除【任务引入】在实际使用中,数据库中的记录有增加,也有减少,它会随着时间的推移而不断变化,下面
我们就来学习如何删除数据库中的记录。【任务目标】掌握使用SQL语句中的DELETE指令和Recordset对象的Delete方法实
现删除指定记录的操作。【任务内容】按要求删除数据库中满足条件的记录。【任务分析】和更新记录一样,在做更新操作前,必须查看整个数据表
中是否有符合条件的一条或多条记录,然后才能执行删除记录操作,若没有找到这样的记录,则不执行删除操作。【程序代码】① 使用SQL的D
elete指令删除记录的代码段。<%dim objconn,objrs,str,sql set objconn=server.Cr
eateObject("adodb.connection") str="provider=microsoft.jet.oledb
.4.0;data _source="&server.MapPath("db1.mdb") objconn.open str
sql="delete from xinxi where 姓名=''咖啡''" objconn.execute sql%>② 使用R
ecordset对象的Delete方法删除记录的代码段。<%dim objconn,objrs,str,sql set objco
nn=server.CreateObject("adodb.connection") str="provider=microsoft.jet.oledb.4.0;data _source="&server.MapPath("db1.mdb") objconn.open str set objrs=server.CreateObject("adodb.recordset") objrs.open "xinxi",objconn,3,3 while not objrs.eof if objrs("姓名")="扩大经过" then objrs.delete end if objrs.movenext wend objrs.updatebatch%>【结果示范】 【任务小结】① 查找整个数据表,只有找到满足条件的记录后才能执行删除操作。② 采用Recordset对象删除记录时,有时可能会一次删除多条记录,这时应使用该对象的Updatebatch方法对这些记录做批处理。9.7.4 表单与数据库【任务引入】在网络运用中,数据库记录的变化往往是通过表单来实现的,因此在实际运用中,处于前台的表单和后台的数据库有着密切的联系,我们通过该任务来理解表单与数据库连接的方式。【任务目标】掌握使用表单将信息传递给数据库并执行相应操作的方法。【任务内容】① 在表单中正确填写指定信息,并作为新记录增加到数据库中。② 根据表单中所填写的资料,在数据库中查找并删除相关记录。③ 将修改后的数据库记录输出显示。【任务分析】整个任务的关键在于能否正确地将表单填写的内容传递给数据库。【结果示范】 示范增加一条学号为05的学生记录,并删除学号为03的学生记录。表单填写情况如图 按表单内容执行增加记录和删除记录命令后,数据库的情况如图 【任务小结】① 该任务的表单界面采用了表单验证对每个表单项目所填写的内容进行检查,以保证符合数据库的要求。② 数据库中学号字段为关键字,要求不可重复,因此当添加新记录时,若学号字段中填写的内容已经存在,应给出提示学号重复,要求重新填写。③ 在对数据库中的记录进行删除前,要从数据库中查找满足删除条件的记录,若不存在,应给出提示并终止删除操作。
献花(0)
+1
(本文系大高老师首藏)