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

发布时间: 2007-01-24 11:37    作者: 未知    来源: 未知    浏览:    评论

巧用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
%>

Smile Big Smile Surprise Stick out tongue Wink Sad Tongue Tied Indifferent Crying Embarrassed Cool Angry Angel Devil [8-|] [:#] [:-*] [:^)] [<:o)] [|-)] Yes Beer Left Hug Music Star Time Snail Pizza Automobile Umbrella Computer Storm [mo] [8o|] [^o)] [+o(] [*-)] [8-)] Coffee No Drinks [Z] Right Hug Cake Broken Heart Gift Wilted Flower Movie Dog Idea Sleep Email Travel Paradise
呢称:

加粗 斜体 下划线 链接 图片 代码 邮件地址 引用 列表

最多只能输入100个字符

Tags

SQL 数据库 asp.net C# XML 控件 .NET教程 程序 事件 数据 安全 代码 Server 客户端 验证 数据库专栏 接口 文件 Oracle DataSet 函数 DataGrid 问题 .net return C#语言 JavaScript 服务 IIS 对象 语句 windows 继承 时间 web.config 设计 开发 参数 变量 解决 字符 ADO.net 环境 VB.Net语言 web 异常 工具 服务器 计算 实例 OLEDB Application VB Word WebService insert asp net 安装 记录

精华推荐

更多

精品下载

更多