Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    elimina più record contemporaneamente

    ciao
    ho la necessità di eliminare più record contemporaneamente.
    Il mio db in access è composto da più tabelle, ed io gli devo passare id e il nome tabella da cancellare.

    file visualizzazione record:

    <form name="form1" method="post" action="">

    <table border="0" cellpadding="4" width="949" cellspacing="1" bgcolor="#000000" height="90">
    <tr>
    <td width="32" valign="middle" align="center" bgcolor="#FFFFCC" height="31"><p align="center"><font size="2" face="Verdana"><input type="button" onClick="this.form.action='dell2.asp?chiave=<%=chi ave%>';this.form.submit();" name="submitButtonName" value="Elimina i selezionati"></font></td>
    </tr>
    <%


    vContatore = 0

    dim chiave
    chiave=Request("chiave")
    SQL = "SELECT * FROM " & chiave & " WHERE categoria LIKE '" & chiave & "' ORDER BY codice"
    Set rec = Server.CreateObject("ADODB.Recordset")
    Set Rec=Conn.Execute(SQL)
    While Not rec.EOF


    %>
    <tr>
    <td width="32" valign="middle" align="center" bgcolor="#FFFFCC" height="29"><a href="del.asp?chiave=<%=chiave%>&cod=<%=rec("id")% >&nome=<%=rec("moneta")%>">[img]cancella.gif[/img]">
    <input name="moneta_<%=vcontatore%>" value="<%=rec("id")%>" type="checkbox" unchecked>
    <label> </label>
    </a><a href="del.asp?chiave=<%=chiave%>&cod=<%=rec("id")% >&nome=<%=rec("moneta")%>">
    <input name="chiave2" type="text" value="<%=vcontatore%>" >
    </a><a href="del.asp?chiave=<%=chiave%>&cod=<%=rec("id")% >&nome=<%=rec("moneta")%>">
    <label>
    <input name="chiave3" type="text" value="<%=rec("id")%>" >
    </label>
    </a><a href="del.asp?chiave=<%=chiave%>&cod=<%=rec("id")% >&nome=<%=rec("moneta")%>">
    <label></label>
    </a><a href="del.asp?chiave=<%=chiave%>&cod=<%=rec("id")% >&nome=<%=rec("moneta")%>">
    <input name="chiave" type="text" value="<%=chiave%>" >
    </a><a href="del.asp?chiave=<%=chiave%>&cod=<%=rec("id")% >&nome=<%=rec("moneta")%>">
    </a><a href="del.asp?chiave=<%=chiave%>&cod=<%=rec("id")% >&nome=<%=rec("moneta")%>">
    <label> </label>
    </a></td>
    <td width="29" valign="middle" align="center" bgcolor="#FFFFCC" height="29">&chiave2=<%=chiave%>">[img]modifica.gif[/img]"></td>
    <td width="123" bgcolor="#FFFFCC" height="29"><font size="2" face="Verdana"><%=rec("codice")%></font></td>
    <td width="323" bgcolor="#FFFFCC" height="29"><font size="2" face="Verdana"><%=rec("moneta")%></font></td>
    </tr>
    <%

    vContatore = vContatore +1

    rec.MoveNext
    Wend
    rec.close
    %>
    </tr>
    </table>
    </form>



    mentre la pagina che elimina è la seguente:


    <%

    for each Item in Request.Form
    if (instr(1,Item, "moneta_") > -1) then
    if (Request.Form(Item) <> "") then


    dim conn, strConn, chiave, nome, codice

    chiave=Request.querystring("chiave")
    'cod=Request.form("cod")

    strConn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " &_
    Server.MapPath("database.mdb")

    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open StrConn

    Server.ScriptTimeout = 900


    SQL = "SELECT * FROM " & chiave & " WHERE id=" & Request.Form(Item) 'cod
    Set rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open SQL, Conn

    nome=rs("moneta")

    SQL = "SELECT * FROM monete WHERE moneta='" & nome & "'"

    Set rs = Server.CreateObject("ADODB.Recordset")

    Rs.Open SQL, Conn

    codice=rs("id")

    SQL="DELETE FROM monete WHERE id="&codice
    Conn.Execute(SQL)

    SQL="DELETE FROM " & chiave & " WHERE id="&cod
    Conn.Execute(SQL)


    'Ripristino il timeout di pagina
    Server.ScriptTimeout = 90

    rs.Close
    set rs = Nothing

    conn.Close
    Set conn = Nothing

    end if
    end if
    next

    'Response.Redirect "albero.asp"
    %>


    COSA SBAGLIO, PERCHè NON CANCELLA....

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Fatti spampare le due query e verifica cosa cerchi di cancellare.
    Lo script time out lo devi mettere in cima alla pagina.

    Roby

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.