巧用in关键字实现数据的批量删除

巧用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"))&amp;lt;=30 Then

=rs("title")

 1else
 2```   
 3```
 4=(Left(rs("title"),30))
 5```...   
 6```
 7end if 
 8```&lt;/td&gt;
 9&lt;td align="left"&gt;```
10=rs("addtime")
11```&lt;/td&gt;
12&lt;td align="center"&gt;&lt;a ```"="" href="editnews.asp?id=```
13=rs(" id")=""&gt;编 辑&lt;/a&gt;&lt;/td&gt;
14&lt;/tr&gt;
15&lt;/tbody&gt;   
16```
17   
18rs.movenext   
19loop   
20
21```
22
23&lt;tr&gt;
24&lt;td align="center" colspan="7"&gt;
25&lt;input id="Checkbox2" name="chkall" onclick="checkall(this)" type="checkbox" value="on"/&gt;选中所有的显示新闻   
26&lt;input id="Button1" name="btnDelete" onclick="del()" style="font-family: 宋体; font-size: 9pt;" type="button" value="删除"/&gt;
27&lt;/td&gt;
28&lt;/tr&gt;
29&lt;/table&gt;
30&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/form&gt;
31
32   
33```
34end if
35```   
36   
37```
38 set rs=nothing   
39conn.close   
40set conn=nothing   
41
42```   
43&lt;/body&gt;
44&lt;/html&gt;
45```
46delnews.asp文件
47<!--#include file="conn.asp"-->
48```
49   
50arrdel=Request("id")   
51'Response.Write arrdel   
52sql="delete from news where id in ("&amp;arrdel&amp;")"   
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开发的过程中积累的一点经验。希望能给你们带来一点帮助。
Published At
Categories with Web编程
Tagged with
comments powered by Disqus