Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    Cancellare da db con una sola operazione

    Salve
    ho questo script che elimina i record selezionati da un elenco tramite checkbox
    codice:
        <input type="checkbox" name="file" value="<%=rs.fields("cod_offerta")%>">
    codice:
    arr_cod = request.form("file")
    
    if len(arr_cod) > 0 then
    conn.execute ("DELETE * FROM miatab WHERE cod_offerta IN (" & arr_cod & ")")
    conn.close
    set conn = nothing
    end if
    originariamente questo script era funzionante solo se nella value era inserito l'id tipo: <%=rs.fields("id")%>
    per mia comodità vorrei invece utilizzare il cod_offerta, che è sempre univoco, ma come l'ho compilato su ho questo errore:
    codice:
    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'cod_offerta IN (3URML8)'.
    

    Che cosa sbaglio?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    nessun aiuto?

  3. #3
    i soliti apici che mancano: 3URML8 è una stringa...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    purtroppo già provato:
    codice:
    conn.execute("DELETE * FROM offerte WHERE cod_offerta IN ('"& arr_id &"') ")
    errore
    [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    Invece se seleziono 2 o piu records
    Ho questo errore:
    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'cod_offerta IN (E34KIV, 1OA6WD)'.
    dove E34KIV, 1OA6WD solo i cod_offerta dei checkbox selezionati dal form precedente
    da eliminare

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    perché non ti stampi la query così puoi vedere cosa stai combinando?

    cod_offerta IN ('E34KIV','1OA6WD')

  6. #6
    quante volte sarà stato detto di passare per una stringa di comodo...

    myQuery="DELETE * FROM miatab WHERE cod_offerta IN ('" & arr_cod & "')"
    response.write "maGGica SQL...: " & myQuery & "<br>"
    conn.execute (myQuery)

    scommetto che per un id funzia, per più di uno no

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    si un solo lo elimina mentre più no
    ecco al query:
    maGGica SQL...: DELETE * FROM offerte WHERE cod_offerta IN ('GJV21S, S3SE9T')

  8. #8
    non sto neanche a spiegarla...


    myQuery="DELETE * FROM miatab WHERE cod_offerta IN ('" & Replace(arr_cod, ",", "','") & "')"
    response.write "maGGica SQL...: " & myQuery & "<br>"
    conn.execute (myQuery)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    maGGica SQL...: DELETE * FROM miatab WHERE cod_offerta IN ('XVI75S',' L5GJ1W')
    ma ne cancella sempre e solo 1 dei 2 selezionati

  10. #10
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Quote Originariamente inviata da djjunior Visualizza il messaggio
    maGGica SQL...: DELETE * FROM miatab WHERE cod_offerta IN ('XVI75S',' L5GJ1W')
    ma ne cancella sempre e solo 1 dei 2 selezionati
    immagino che il cod_offerta 'spazioL5GJ1W' non esista, o hai solo trascritto male?

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.