巧用in關鍵字實現數據的批量刪除_Access數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:數據庫設計范式
      關系數據庫設計之時是要遵守一定的規則的。尤其是數據庫設計范式 現簡單介紹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應用的幾個技巧
      不要浪費數據類型的效果 當你要存儲數字數據時,你也許會想要指定一個數字的數據類型。在你這么做之前,請先考慮一下數據的用途。例如,你不會將街區號碼或是郵政編碼的數值用在數學等式中。

      來源:模板無憂//所屬分類:Access數據庫教程/更新時間:2008-08-22
      相關Access數據庫教程