Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    cancellare + record in una sola botta

    ciao, ho una pagina dove sono presenti dei checkbox che ogn'uno ha come valore l'id del record da cancellare..
    se seleziono un solo checkbox, nessun problema.. ma se i checkbox selezionati sono + di uno, mi viene fuori un valore del genere:
    "15,3,7"
    adesso se mi viene fuori un valore del genere questo codice sembra non andar + bene:
    codice:
    valueDoc=request.Form("checkdoc")
    set rs=server.CreateObject("adodb.recordset")
    sql= "DELETE * FROM dett_file WHERE id="&valueDoc
    'response.write sql
    rs.open sql, conn,3,3
    la domanda è: come li cancello quei record?
    Voglio l'alt+s anche per FF

  2. #2
    ... WHERE ID IN (" & elenco & ")...

    guardacaso (oggi sei proprio fortunato...) la variabile "elenco" deve essere in formato 1,2,4,6,....


  3. #3
    Utente di HTML.it L'avatar di fiber81
    Registrato dal
    Oct 2002
    Messaggi
    328
    Prova così:
    codice:
    valueDoc=request.Form("checkdoc")
    valueDoc = Split(valueDoc(","))
    for i = 0 To Ubound(valueDoc)     
        sql= "DELETE * FROM dett_file WHERE id="&valueDoc
        conn.Execute(strSQL)
    Next
    Senza richiamare il recordset utilizzi solo la connessione
    Ci sono 10 tipi di persone al mondo, quelli che conoscono la numerazione binaria e quelli che non la conoscono!

  4. #4
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da fiber81
    Prova così:
    codice:
    valueDoc=request.Form("checkdoc")
    valueDoc = Split(valueDoc(","))
    for i = 0 To Ubound(valueDoc)     
        sql= "DELETE * FROM dett_file WHERE id="&valueDoc
        conn.Execute(strSQL)
    Next
    Senza richiamare il recordset utilizzi solo la connessione
    si si.. vabbè il recorset lo aprivo perchè ho ripreso il codice da un'altra pagina.. ma scusa come fai tu.. esce fuori:
    codice:
     sql= "DELETE * FROM dett_file WHERE id=1537
    Voglio l'alt+s anche per FF

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da optime
    ... WHERE ID IN (" & elenco & ")...

    guardacaso (oggi sei proprio fortunato...) la variabile "elenco" deve essere in formato 1,2,4,6,....

    azz hai visto.. hehe
    Voglio l'alt+s anche per FF

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    qualcuno si ricorda come si cancella un file dal server?
    Voglio l'alt+s anche per FF

  7. #7

  8. #8
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da optime
    fso
    ah si.. thanks
    Voglio l'alt+s anche per FF

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    68
    Allora vediamo se ho capito, anche se dato che non funziona penso di no

    Allora io ho la pagina index.asp che è quella che contiene il recordset ed ha questo codice (la pagina connessione.asp stabilisce pe l'appunto la connessione con il db):

    codice:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
    <!--
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    }
    -->
    </style></head>
    <body>
    <table width="200" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border-collapse: collapse">
    <form action="delete.asp" method="post">
    <tr>
    <td width="175" height="25"><div align="center">Nomi</div></td>
    <td width="25" height="25"></td>
    </tr>
    <%
    SQL="Select * from tabella"
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set rs=Conn.Execute(SQL)
    While Not rs.EOF
    %>
    <tr>
    <td height="25"><div align="center"><%=rs("nome")%></div></td>
    <td height="25"><div align="center"><input name="cancella" type="checkbox" value="<%=rs("ID")%>"></div></td>
    </tr>
    <% 
    rs.MoveNext
    Wend
    rs.close
    %>
    <tr>
    <td height="30" colspan="2"><div align="center"><input name="cancella" type="submit" id="cancella" value="Cancella">
    </div></td>
    </tr>
    </form>
    </table>
    </body>
    </html>
    Poi ho la pagina che dovrebbe cancellare i record con questo codice (delete.asp)
    codice:
    <%
    dim valueDoc
    valueDoc=request.Form("cancella")
    valueDoc = Split(valueDoc(","))
    for i = 0 To Ubound(valueDoc)     
    sql= "DELETE * FROM tabella WHERE id="&valueDoc
    conn.Execute(strSQL)
    Next
    %>
    Come errore mi dà "Tipo non corrispondente /script/delete/delete.asp, line 5" nella riga 5 c'è valueDoc = Split(valueDoc(","))

    Pensoo che il problema stia nel fatto che la mia index.asp non spedisce i valori nel formato "15,3,7"

  10. #10
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Impossibile.. ti deve spedire i valori in formato 15,3,50 prova a fare un response.write della variabile..
    cmq il ciclo è inutile..
    codice:
    dim valueDoc
    valueDoc=request.Form("cancella")
    sql= "DELETE * FROM tabella WHERE id IN("&valueDoc&")"
    conn.Execute(strSQL)
    Voglio l'alt+s anche per FF

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 © 2025 vBulletin Solutions, Inc. All rights reserved.