WEB开发网
开发学院WEB开发ASP 巧用in关键字实现数据的批量删除 阅读

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

 2003-09-16 10:24:44 来源:WEB开发网   
核心提示:巧用in关键字实现数据的批量删除在WEB编程中经常会碰到数据的批量删除,我们通常的做法是通过循环来实现数据的批量的删除,巧用in关键字实现数据的批量删除,但是一个程序模块循环用的太多那么这个程序模块的质量就会下降,因此本文就介绍通过巧用in关键字来实现数据的批量删除,大家可以试试看是否达到我们的预期结果呢?好了,本文只

巧用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" ID="Checkbox2">选中所有的显示新闻   
<input type="button" name="btnDelete" value="删除" style='font-family: 宋体; font-size: 9pt;' 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
%>

呵呵,上面的代码比较简单我也就不多说了。大家可以试试看是否达到我们的预期结果呢?好了,本文只是作者在做WEB开发的过程中积累的一点经验。希望能给你们带来一点帮助。

Tags:in 关键字 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接