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

    cancellare piu record contemporaneamente

    Cosa c'è di sbagliato in questa query?
    cerco di cancellare tutti i record selezionati
    come si vede dall'errore gli id passati dalle checkbox ci sono

    le ho provate tutte


    arr_id = Request("chk")

    strSQL="DELETE * FROM posta WHERE id IN "& (arr_id)

    mi restituisce un errore di questo tipo


    Microsoft JET Database Engine error '80040e14'

    In operator without () in query expression 'id IN 10, 11, 12, 14'.

    /canc_posta.asp, line 10
    mi piacerebbe ricordarmi tutto quello che leggo e scrivo e sento ma....cosa dicevo??

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ti dice che non hai usato le parentesi per la IN.
    Non ricordo poi se la WHERE IN funzioni con la DELETE...

    Roby

  3. #3
    arr_id è un array e contiene più valori, e non puoi fare la query mettendo la virgola dopo i parametri del where...

    Nel tuo hai scritto:
    DELETE * FROM posta WHERE id IN 10, 11, 12, 14

    Che ovviamente è sbagliata...

    O fai un clico...
    Tipo

    totale_array = Ubound(arr_id)
    ' in questo modo ti dice il totale dei valori nell'arrey
    For x = totale_array
    DELETE * FROM posta WHERE id = "&arr_id(x)&"

    'Lanci la query
    Next

    Ciaoooo

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Originariamente inviato da maxolino
    arr_id è un array e contiene più valori, e non puoi fare la query mettendo la virgola dopo i parametri del where...

    Nel tuo hai scritto:
    DELETE * FROM posta WHERE id IN 10, 11, 12, 14

    Che ovviamente è sbagliata...

    O fai un clico...
    Tipo

    totale_array = Ubound(arr_id)
    ' in questo modo ti dice il totale dei valori nell'arrey
    For x = totale_array
    DELETE * FROM posta WHERE id = "&arr_id(x)&"

    'Lanci la query
    Next

    Ciaoooo
    Non é performante, anzi!

    Usa questa:
    strSQL="DELETE * FROM posta WHERE id IN (" & arr_id & ")"
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  5. #5

    grazie a tutti

    Ragazzi grazie per la sollecitudine ma avevo già trovato la soluzione suggeritami dal mio fratellino
    ed è questa:

    strSQL="DELETE * FROM posta WHERE id IN ("& (arr_id) &")"

    che cmq mi pare l'equivalente di quella di 99eros9

    cmq grazzissimo a tutti

    Ciaooo
    mi piacerebbe ricordarmi tutto quello che leggo e scrivo e sento ma....cosa dicevo??

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.