程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 巧用in關鍵字實現數據的批量刪除

巧用in關鍵字實現數據的批量刪除

編輯:ASP技巧
 

巧用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開發的過程中積累的一點經驗。希望能給你們帶來一點幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved