靈活使用in關(guān)鍵字完成數(shù)據(jù)的大局部刪除
發(fā)表時(shí)間:2023-08-16 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]巧用in關(guān)鍵字實(shí)現(xiàn)數(shù)據(jù)的批量刪除在WEB編程中經(jīng)常會(huì)碰到數(shù)據(jù)的批量刪除。我們通常的做法是通過(guò)循環(huán)來(lái)實(shí)現(xiàn)數(shù)據(jù)的批量的刪除。但是一個(gè)程序模塊循環(huán)用的太多那么這個(gè)程序模塊的質(zhì)量就會(huì)下降。因此本文就介紹通過(guò)...
巧用in關(guān)鍵字實(shí)現(xiàn)數(shù)據(jù)的批量刪除
在WEB編程中經(jīng)常會(huì)碰到數(shù)據(jù)的批量刪除。我們通常的做法是通過(guò)循環(huán)來(lái)實(shí)現(xiàn)數(shù)據(jù)的批量的刪除。但是一個(gè)程序模塊循環(huán)用的太多那么這個(gè)程序模塊的質(zhì)量就會(huì)下降。因此本文就介紹通過(guò)巧用in關(guān)鍵字來(lái)實(shí)現(xiàn)數(shù)據(jù)的批量刪除。
讓我們通過(guò)一個(gè)例子來(lái)講解IN關(guān)鍵字的數(shù)據(jù)批量刪除
假如我們要?jiǎng)h除這個(gè)頁(yè)面的數(shù)據(jù):相關(guān)代碼如下:
managenews.asp <!--#include file="conn.asp"-->
<%'數(shù)據(jù)庫(kù)的連接文件我就不多說(shuō)了%> <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 () //用于判斷記錄有沒(méi)有選中的函數(shù)
{
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("對(duì)不起,你還沒(méi)有選擇!")}
else{ name=document.form1.name.value
//alert(name)
if (confirm("確實(shí)要?jiǎng)h除?")){
window.location="delnews.asp?id=" + temp;
}
}
return !flag;
}
</script>
</head>
<body>
<script language=Javascript>
function checkall(all)//用于判斷全選記錄的函數(shù)
{
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">
沒(méi)有新聞!
</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>
新聞標(biāo)題
</td>
<td align=center>
發(fā)布時(shí)間
</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
%>
呵呵,上面的代碼比較簡(jiǎn)單我也就不多說(shuō)了。大家可以試試看是否達(dá)到我們的預(yù)期結(jié)果呢?好了,本文只是作者在做WEB開(kāi)發(fā)的過(guò)程中積累的一點(diǎn)經(jīng)驗(yàn)。希望能給你們帶來(lái)一點(diǎn)幫助。