推荐:数据库设计范式关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍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应用的几个技巧不要浪费数据类型的效果
当你要存储数字数据时,你也许会想要指定一个数字的数据类型。在你这么做之前,请先考虑一下数据的用途。例如,你不会将街区号码或是邮政编码的数值用在数学等式中。