Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260

    Aiuto update/delete multiplo

    ciao a tutti ho una pagina con un form che recupera valori multipli tramite checkbox e li passa a questa pagina

    codice:
    <%
    DataNow = Now() 
    Oggetto = Split(Replace(Request.form("Oggetto"), "'", "''"),",") 
    TestoNews = Split(Replace(Request.form("TestoNews"), "'", "''"),",") 
    ID = Split(Request.form("IDcheck"),",")
    
    
    If Len(ID(0)) = 0 then
    Response.Write("Nessuna News é stata selezionata per la pubblicazione") 
    Response.Write("</br>Torna indietro e seleziona almeno una News.") 
    Response.End 
    End if
    
    If Len(ID(0)) > 0 then
    Set Conn = Server.CreateObject("ADODB.Connection") 
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath ("/mdb-database/News.mdb")
    For x=0 to (ID) 
    SQL = "DELETE * FROM [News] WHERE ID IN (" & ID(x) & ")" 
    Conn.Execute SQL 
    Next 
    
    For x=0 to ubound(ID) 
    SQL = "INSERT INTO News(Data, Oggetto, TestoNews, Pubblica) VALUES ('"& DataNow &"', '"& Oggetto(x) &"', '"& TestoNews(x) &"' ,'S')" 
    Conn.Execute SQL 
    Next 
    conn.close 
    set conn = nothing 
    end if 
    Response.Write("News Pubblicate Correttamente" & "</br>") 
    Response.Write("</br>Visualizza News") 
    Response.Write("</br>Torna indietro") 
    %>
    ma mi restituisce questo errore

    Microsoft VBScript runtime error '800a0009'

    Subscript out of range: '[number: 0]'

    /Pubblica.asp, line 78 che poi sarebbe questa

    If Len(ID(0)) > 0 then

    Qualcuno sa dirmi dove sbaglio?
    Ringrazio anticipatamente
    Ciao a tutti!

  2. #2
    Togli (0) dopo ID

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    ciao e grazie ma togliendo lo 0 ho questo errore

    Microsoft VBScript runtime error '800a000d'

    Type mismatch

    /Pubblica.asp, line 78

  4. #4
    hai già gli ID nel modo giusto...

    tuaLista="1,2,3,4"

    ti basta

    sql = "DELETE * FROM tabelle WHERE ID IN (" & tualista & ")"

    that easy!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    e quindi?
    ragazzi aiuto!!!

    comunque sia ho visto che recupero tutti i valori che passa il form, di questo ne sono sicuro!
    Ma come devo procedere per fare update delete nel modo corretto e soprattutto associare all'id(x) il testo(x)?

    per il delete ok, se non ho capito male gli passo tutti i valori degli id e con SQL = "DELETE * FROM [News] WHERE ID IN (" & ID & ")" dovrei riuscire a cancellare tutto ciò che è associato a quegli id...se non ho capito male!
    Aiutooooo

  6. #6
    mic, niente scene di panico. ti ho già risposto. rifletti invece di frignare

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    ciao optime scusa ma ci sto sbattendo la testa da due giorni!!!

    allora..ho fatto un bel response per vedere che cosa passava la pagina e con
    Oggetto = Split(Replace(Request.form("Oggetto"), "'", "''"),",") recupero solo il primo valore che passa
    mentre con
    Oggetto = Replace(Request.form("Oggetto"), "'", "''") recupero gia tutti i valori separati dalle virgole.
    In teoria fin qui ci siamo...se provo con l'id invece non funziona!
    Dim ID
    Dim i

    DataNow = Now()
    TestoNews = Split(Replace(Request.form("TestoNews"), "'", "''"),",")
    Oggetto = Split(Replace(Request.form("Oggetto"), "'", "''"),",")
    ID = Split(Replace(Request.form("ID"), "'", "''"),",")

    Response.Write(ID)
    Response.End

    e ricevo questo errore

    Response object error 'ASP 0106 : 80020005'

    Type Mismatch

    /Pubblica.asp, line 0

    An unhandled data type was encountered.

    dove sbaglio?

  8. #8
    come ricavi la serie di ID?

  9. #9
    visto

    ID = Split(Replace(Request.form("ID"), "'", "''"),",")


    non va bene

    usa

    ListaID = Replace(Request.form("ID"), "'", "''")

    e fai una delete ... IN (" & ListaID & ")"...

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    allora ho fatto un response.write(ListaID) e mi restituisce tutti gli id presenti nel form, ma quando faccio il controllo

    If len(ListaID(i)) = 0 then
    Response.Write("Nessuna News é stata selezionata per la pubblicazione")
    Response.Write("</br>Torna indietro e seleziona almeno una News.")
    Response.End
    End if

    mi da errore

    Microsoft VBScript runtime error '800a000d'

    Type mismatch: 'ID'

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.