推薦:數據庫設計范式關系數據庫設計之時是要遵守一定的規則的。尤其是數據庫設計范式 現簡單介紹1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介紹。 在你設計數據
在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開發的過程中積累的一點經驗。希望能給你們帶來一點幫助。同時也希望大家有什么好的技巧拿出來共享。
分享:Access應用的幾個技巧不要浪費數據類型的效果
當你要存儲數字數據時,你也許會想要指定一個數字的數據類型。在你這么做之前,請先考慮一下數據的用途。例如,你不會將街區號碼或是郵政編碼的數值用在數學等式中。