Visualizzazione dei risultati da 1 a 8 su 8

Discussione: cancellare più record

  1. #1

    cancellare più record

    Ciao a tutti

    volevo sapere se cè la possibilita di cancellare da un database più record alla volta mi spiego meglio:
    io ora per cancella re un record utilizzo questo codice:

    -------------------------------
    if action="del" then

    sql = "SELECT * FROM AGENDA WHERE ID="&CHECK&""
    Set rs = Server.CreateObject("ADODB.RECORDSET")

    rs.Open sql, connessione, 3, 3
    rs.Delete
    rs.Close
    Set rs = Nothing
    ecc...

    -------------------------------

    e infatti se nella variabile CHECK io passo il singolo valore ES. '2' recuperato da una casella di controllo mi cancella correttamente tutto.

    Il problema è che se dall'elenco dei records l'utente mi seleziona più caselle di controllo la mia variabile CHECK diventa:


    CHECK= 2,3,4,5

    e si blocca tutto.

    Come posso fare per cancellare automaticamente i records 2,3,4,5.....

    Grazie


  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    delete from tabella where id in (2,3,4,5)
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    ho cambiato il codice così:

    --------------------------------
    if action="del" then

    sql = "DELETE FROM AGENDA WHERE ID in ("&CHECK&")"
    Set rs = Server.CreateObject("ADODB.RECORDSET")
    rs.Open sql, connessione, 3, 3
    rs.Delete
    rs.Close
    Set rs = Nothing

    connessione.Close
    Set connessione = Nothing
    --------------------------------


    ma mi restituisce questo errore???????

    ----------------------------------
    ADODB.Recordset error '800a0e78'

    Operation is not allowed when the object is closed.

    /esa/tecnici/insert_appuntamento.asp, line 37
    -------------------------------------------------

    la linea 37 è questa: rs.Delete


  4. #4

    UP

    UP AIUTO!!!

  5. #5
    A quale stringa dà l'errore?
    check = ?
    Porc le botte

  6. #6
    codice:
    set connessione = server.createObject("ADODB.Connection"=
    connessione.open ...
    
    if action="del" then 
      sql = "DELETE FROM AGENDA WHERE ID in ("&CHECK&")" 
      connessione.execute(sql)
    end if
    
    connessione.Close 
    Set connessione = Nothing

  7. #7

    GRAZIE

    perfetto ora funziona

    non sapevo dell'esistenza di un comando execute per l'sql grazie mille

  8. #8
    Non era necessario il comando execute....bastava solo togliere la riga "rs.Delete".

    Ciao

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.