当前位置: 首页 > 图文教程 > 网络编程 > ASP > 在ASP中用集合成批操作数据库

ASP
asp+语法教程(三)asp+的服务器端编程初步
asp+语法教程(四)asp+的服务器端编程进介
asp+语法教程(五)asp+的服务器端编程控件篇
asp+语法教程(六)数据库篇
从ASP迁移至ASP+
从ASP迁移至ASP+ --进入DataSet
从ASP迁移至ASP+ --HTML表格转换为ASP+列表
从ASP迁移至ASP+ --转换其他的页面
从ASP迁移至ASP+ --处理会话变量
ASP十步进阶
asp.net高级教程(一)-asp.net还是asp+ ?
asp.net高级教程(二)- 转换编程思维
asp.net高级教程(三)-对象
asp.net高级教程(三)-实战篇
asp.net高级教程(五)-实战篇(中)
ASP+中文教程(一)--asp+简介、安装、以及如何显示中文
asp+中文教程(二)-- Asp+ Web Forms
APS + 中文教程(三)--服务器端控制(一)
SQL数据操作基础(初级) 4
SQL数据操作基础(初级) 5

ASP 中的 在ASP中用集合成批操作数据库


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 92 ::
收藏到网摘: n/a

  在ASP中用集合成批操作数据库

  我们知道,一般的关系数据库(如SQL Server、Oracle、Access等)中的查询操作是支持集合操作的,
例如可以用“Update ATable Set Field1 = AValue where Field2 in (Value21,Value22)”来完成对数据
库的成批更新操作。我们可以充分利用数据库的这种集合特性来提高ASP页面操作数据库的效率。如我们
可以在页面上列出多个记录,让用户选择要操作的记录,然后在用户确定操作后进行成批操作,这与一个记
录操作一次的方法相比效率明显要高的多了。

一、HTML的集合属性
  首先,让我们来熟悉一下HTML的集合属性。在表单(FORM)数据或查询(Query)参数中,当
提交的多个参数采用同一个名称时,这些参数值将构成一个集合,在ASP页面可以获取这些参数值或
同名参数的个数。如在下面的页面(Set.HTM)中,6个复选框采用同一个参数名MyCheckBox,其值分别
为1、2、3、4、5、6。
<!-- Set.HTM -->
<html><head><title>集合属性应用</title></head><body>
<p>请选择要操作的项目,提交数据后,将会显示您选择的项目。
<form method="POST" action="set.asp">
  <br>1、<input type="checkbox" name="MyCheckBox" value="1">
  <br>2、<input type="checkbox" name="MyCheckBox" value="2">
  <br>3、<input type="checkbox" name="MyCheckBox" value="3">
  <br>4、<input type="checkbox" name="MyCheckBox" value="4">
  <br>5、<input type="checkbox" name="MyCheckBox" value="5">
  <br>6、<input type="checkbox" name="MyCheckBox" value="6">
  <br><input type="submit" value="提交数据" name="B1">
</form></body></html>
  当客户端选择了要显示的项目后,下面的ASP页面(Set.ASP)给出客户端选择的项目个数及其值。
<!-- Set.ASP -->
<%@ LANGUAGE = VBScript %>
<html><head><title>集合操作测试</title></head>
<body>
<%
Response.Write "<br>您一共选择了"&request("MyCheckBox").count&"项,"
Response.Write "<br>您选择的项目有:"&request("MyCheckBox")
%>
</body></html>
如当客户端选择了第二、三、五项并提交数据后,将会看到如下结果:
您一共选择了3项,
您选择的项目有:2, 3, 5
应该注意到,“2, 3, 5”的形式与SQL语句要求的形式是一致的,我们可以直接或间接地利用这种
形式的结果,如 "Select * from ATable where AFiled in(" & request("MyCheckBox") & ")"的实际
SQL查询语句为“Select * from ATable where AFiled in(2, 3, 5)”。

二、HTML的集合属性的应用
  下面我们结合一个实际的例子,讨论一下如何在ASP页面中利用HTML的集合属性来成批操作
数据库。现在我们有一个记录客户电子信箱的ACCESS数据库EMail,其中有一个数据表EmailList,
包含CustomerId、CustomerName、CustomerEmail三个字段,分别表示客户编号、客户名称、客户电子信箱。
在ASP页面SelectId.ASP中,我们采用CheckBox列出所有客户的客户名称(各个CheckBox的值为对应的
客户编号),让用户选择给哪些客户发送电子邮件。当用户选择了客户并提交数据后,SendMail.ASP将检
索到这些客户的电子信箱,并给这些客户发送电子邮件。具体的信息请参见下面ASP程序代码和注释信息。

<!-- SelectId.ASP:列出所有客户的客户名称 -->
<html><head><title>所有客户的客户名称</title></head><body>
<p align=center><font style="font-family:宋体;font-size:9pt">
请选择要给哪些客户发送“新年问候”的电子邮件
<form method="POST" action="SendMail.asp">
<%'建立与ACCESS数据库的连接
Set dbConnection = Server.CreateObject("ADODB.Connection")
dbConnection.open "Driver={Microsoft Access Driver (*.mdb)};"&_
"DBQ=C:\inetpub\wwwroot\test\Email.mdb"
'获取所有客户的客户编号、客户名称