快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

呵呵,上面的代码比较简朴我也就不多说了。大家可以试试看是否达到我们的预期结果呢?好了,本文只是作者在做WEB开发的过程中积累的一点经验。希望能给你们带来一点帮助。
返回类别: 教程
上一教程: 使用XML+VBS技术在ASP中实现报表的打印
下一教程: ASP连接SQL2000的方式

您可以阅读与"巧用IN要害字实现数据的批量删除"相关的教程:
· ASP中利用数组实现数据库记录的批量录入方式
· 用数组实现数据记录的批量录入方式
· ASP实现批量录入数据的实现
· 防止别人在QUERYSTRING中加入DELETE或其他字符删除你的数据库内容
· ASP 用存储过程实现数据分页
    微笑服务 优质保证 索取样品