巧用in关键字实现数据的批量删除
在WEB编程中经常会碰到数据的批量删除。我们通常的做法是通过循环来实现数据的批量的删除。但是一个程序模块循环用的太多那么这个程序模块的质量就会下降。因此本文就介绍通过巧用in关键字来实现数据的批量删除。
让我们通过一个例子来讲解IN关键字的数据批量删除
假如我们要删除这个页面的数据:相关代码如下:
managenews.asp
1'数据库的连接文件我就不多说了
1<html>
2<head>
3<title>管理新闻</title>
4<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
5<link href="../index/style.css" rel="stylesheet" type="text/css"/>
6<script>
7function del () //用于判断记录有没有选中的函数
8{
9var flag=true;
10var temp="";
11var tmp;
12if((document.form1.answer.length+"")=="undefined") {tmp=1}else{tmp=document.form1.answer.length}
13if (tmp==1){
14if (document.form1.answer.checked){
15flag=false;
16temp=document.form1.answer.value
17}
18}else{
19for (i=0;i<document.form1.answer.length;i++) {
20if (document.form1.answer[i].checked){
21if (temp==""){
22flag=false;
23temp=document.form1.answer[i].value
24}else{
25flag=false;
26temp = temp +","+ document.form1.answer[i].value
27}
28}
29}
30}
31if (flag){ alert("对不起,你还没有选择!")}
32else{ name=document.form1.name.value
33//alert(name)
34if (confirm("确实要删除?")){
35window.location="delnews.asp?id=" + temp;
36}
37}
38return !flag;
39}
40</script>
41</head>
42<body>
43<script language="Javascript">
44function checkall(all)//用于判断全选记录的函数
45{
46var a = document.getElementsByName("answer");
47for (var i=0; i<a.length; i++) a[i].checked = all.checked;
48}
49</script>
set rs=server.createobject("adodb.recordset")
sql="select * from news order by addtime desc"
rs.open sql,conn,1,3
if rs.eof then
1<table align="center" border="0" id="Table2" width="50%">
2<tr>
3<td align="center">
4没有新闻!
5</td></tr>
6</table>
else
1<form id="form1" method="POST" name="form1">
2<table align="center" border="0" class="tabDocborder" id="Table3" width="90%">
3<tr>
4<td>
5<table align="center" border="1" bordercolor="#b6d3eb" bordercolorlight="#82b4dd" cellpadding="0" cellspacing="0" class="TabDocMain" id="TabDocMain" width="80%">
6<thead>
7<tr>
8<td align="center" colspan="7">
9新闻管理中心
10</td>
11</tr>
12</thead>
13<tbody>
14<tr>
15<td align="center">
16删除框
17</td>
18<td align="center">
19新闻标题
20</td>
21<td align="center">
22发布时间
23</td>
24<td align="center">
25管理
26</td>
27</tr>
do while not rs.eof
1
2<tr>
3<td align="center"><input ```"="" id="Checkbox1" id")="" name="answer" type="checkbox" value="```
4=rs("/>
5</td>
6<td align="left">```
7If Len(rs("title"))&lt;=30 Then
=rs("title")
1else
2```
3```
4=(Left(rs("title"),30))
5```...
6```
7end if
8```</td>
9<td align="left">```
10=rs("addtime")
11```</td>
12<td align="center"><a ```"="" href="editnews.asp?id=```
13=rs(" id")="">编 辑</a></td>
14</tr>
15</tbody>
16```
17
18rs.movenext
19loop
20
21```
22
23<tr>
24<td align="center" colspan="7">
25<input id="Checkbox2" name="chkall" onclick="checkall(this)" type="checkbox" value="on"/>选中所有的显示新闻
26<input id="Button1" name="btnDelete" onclick="del()" style="font-family: 宋体; font-size: 9pt;" type="button" value="删除"/>
27</td>
28</tr>
29</table>
30</td></tr></table></form>
31
32
33```
34end if
35```
36
37```
38 set rs=nothing
39conn.close
40set conn=nothing
41
42```
43</body>
44</html>
45```
46delnews.asp文件
47<!--#include file="conn.asp"-->
48```
49
50arrdel=Request("id")
51'Response.Write arrdel
52sql="delete from news where id in ("&arrdel&")"
53'Response.Write sql
54conn.Execute sql
55set conn=nothing
56response.write"
57```
58<script language="JavaScript">alert('删除成功!');"
59response.write"javascript:history.go(-1)</script>
60```
61"
62response.end
63
64```
65
66呵呵,上面的代码比较简单我也就不多说了。大家可以试试看是否达到我们的预期结果呢?好了,本文只是作者在做WEB开发的过程中积累的一点经验。希望能给你们带来一点帮助。