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

2016-01-29 17:56 10 1 收藏

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

【 tulaoshi.com - 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"
  <br1、<input type="checkbox" name="MyCheckBox" value="1"
  <br2、<input type="checkbox" name="MyCheckBox" value="2"
  <br3、<input type="checkbox" name="MyCheckBox" value="3"
  <br4、<input type="checkbox" name="MyCheckBox" value="4"
  <br5、<input type="checkbox" name="MyCheckBox" value="5"
  <br6、<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:inetpubwwwroottestEmail.mdb"
'获取所有客户的客户编号、客户名称
Set rsCustomers = Server.CreateObject(&q

来源:http://www.tulaoshi.com/n/20160129/1503616.html

延伸阅读
标签: SQLServer
在SQL结构化查询语言中,LIKE语句有着至关重要的作用。 LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。 假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据。现在我们要在姓名字...
标签: vb
DAO(Data Access Object)全称为数据访问对象,它是数据库编程的重要方法之一。DAO的一种面向对象的界面接口,特色为它不是可视化的对象,使用它全部都要靠编码来完成,DAO是设计关系型数据库系统结构的对象类的集合。它提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位...
如何操作access数据库 一、查找记录 find.htm 请输入您要查找的人的姓名: find.asp 二、过滤记录 filter.asp 三、添加记录 add.asp 四、更新记录 和上面的“添加记录”一样,只需把“添加”命令改做“更新”就可以了: objrs.update 五、删除记录 本文来自学习网(www.gzu521.com),原文地址:http://www.gzu521.com/campus/artic...
       在VC或VB中需要耗时的查询时,  客户一般需要等待很长一段时间, 这种情况客户是无法容忍而且也无法取消, 那么怎样么办呢.           1.首先采用多线程的方式, 工作线程与UI线程分开, 工作线程处理完毕时向主线程发消处理完毕的消息;另一种方法采用向...
我把数据库操作类整理了一下,它包含了常用的数据库操作,由三种方式:简单的SQL拼接字符串的形式,SQL语句使用参数的形式和存储过程的形式,每种形式均有五个方法,并且都有事务.,可以直接调用.代码如下: 1//====================================================================== 2// 3// Copyright (C) 2007-2008 三月软件工...

经验教程

368

收藏

71
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部