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

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

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

[url=http://www.jaron.cn/][/url]巧用in关键字实现数据的批量删除

原创:小汪仔

在WEB编程中经常会碰到数据的批量删除。我们通常的做法是通过循环来实现数据的批量的删除。但是一个程序模块循环用的太多那么这个程序模块的质量就会下降。因此本文就介绍通过巧用in关键字来实现数据的批量删除。

让我们通过一个例子来讲解IN关键字的数据批量删除

假如我们要删除这个页面的数据:相关代码如下:

managenews.asp <!--#include file="conn.asp"-->

<%'数据库的连接文件我就不多说了%> <html>

<head>

<title>管理新闻</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<link rel="stylesheet" href="../index/style.css" type="text/css">

<script>

function del () //用于判断记录有没有选中的函数

{

var flag=true;

var temp="";

var tmp;

if((document.form1.answer.length+"")=="undefined") {tmp=1}else{tmp=document.form1.answer.length}

if (tmp==1){

if (document.form1.answer.checked){

flag=false;

temp=document.form1.answer.value

}

}else{

for (i=0;i<document.form1.answer.length;i++) {

if (document.form1.answer[i].checked){

if (temp==""){

flag=false;

temp=document.form1.answer[i].value

}else{

flag=false;

temp = temp +","+ document.form1.answer[i].value

}

}

}

}

if (flag){ alert("对不起,你还没有选择!")}

else{ name=document.form1.name.value

//alert(name)

if (confirm("确实要删除?")){

window.location="delnews.asp?id=" + temp;

}

}

return !flag;

}

</script>

</head>

<body>

<script language=Javascript>

function checkall(all)//用于判断全选记录的函数

{

var a = document.getElementsByName("answer");

for (var i=0; i<a.length; i++) a[i].checked = all.checked;

}

</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 %>

<table width="50%" border="0" align="center" ID="Table2">

<tr>

<td align="center">

没有新闻!

</tr>

</table>

<% else %>

<form method="POST" id=form1 name=form1>

<table width="90%" border="0" align="center" class="tabDocborder" ID="Table3">

<tr>

<td>

<table width="80%" align="center" id=TabDocMain border='1' cellspacing='0' cellpadding='0' bordercolorlight='#82b4dd' bordercolor='#b6d3eb' class="TabDocMain">

<thead>

<tr>

<td colspan="7" align="center">

新闻管理中心

</td>

</tr>

</thead>

<tbody>

<tr>

<td align=center>

删除框

</td>

<td align=center>

新闻标题

</td>

<td align=center>

发布时间

</td>

<td align=center>

管理

</td>

</tr>

<%

do while not rs.eof

%>

<tr>

<td align=center><input type="checkbox" name="answer" value="<%=rs("id")%>" ID="Checkbox1">

</td>

<td align=left><%If Len(rs("title"))<=30 Then%><%=rs("title")%><%else%>

<%=(Left(rs("title"),30))%>...

<%end if %></td>

<td align=left><%=rs("addtime")%></td>

<td align=center><a href="editnews.asp?id=<%=rs("id")%>">编辑</a></td>

</tr>

</tbody>

<%

rs.movenext

loop

%>

<tr>

<td colspan="7" align="center">

<input type="checkbox" name="chkall" value="on" onclick="checkall(this)" ID="Checkbox2">选中所有的显示新闻

<input type="button" name="btnDelete" value="删除" style='font-family: 宋体; font-size: 9pt;' onclick="del()" ID="Button1">

</td>

</tr>

</table>

</form>

</td>

</tr>

<%end if%>

</table>

<% set rs=nothing

conn.close

set conn=nothing

%>

</body>

</html>

delnews.asp文件

<!--#include file="conn.asp"-->

<%

arrdel=Request("id")

'Response.Write arrdel

sql="delete from news where id in ("&arrdel&")"

'Response.Write sql

conn.Execute sql

set conn=nothing

response.write"<SCRIPT language=JavaScript>alert('删除成功!');"

response.write"javascript:history.go(-1)</SCRIPT>"

response.end

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航