Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: ciclo update

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    170

    ciclo update

    qualcuno mi puo dire cosa ce di sbagliato nel mio codice:

    codice:
    <% 
    Dim tot, id, tab
    tot=request.querystring("tot")
    tab=request.querystring("tab")
    for i = 0 to tot
    val=Request.Form("form"&i)
    id=Request.Form("id"&i)
    
    Dim Conn
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("../db/db.mdb")
    
    SQL="UPDATE " & tab & " set selezione='"& val &"' WHERE id="&id
    Conn.Execute(SQL)
    conn.Close
    Set conn=Nothing
    
    next
    %>

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    170
    ho questo errore:

    HTTP 500.100 - Errore interno del server - errore ASP
    Internet Information Services

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

    Informazioni tecniche (per il personale del supporto tecnico)

    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query 'id='.
    /carlo/pannel/order.asp, line 14


    e come se fosse che il campo id risultasse vuoto, ma se metto un responde.write tutto funziona.....

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    id è vuoto...
    Stampa la query senza eseguirla e ad ogni ciclo vedrai se "id" contiene qualcosa.

    Roby

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    170
    Ho già provato in questo modo....ho tolto il codice che riguardava la connessione ed ho fatto stampare il valore di "id" all'interno del ciclo, e tutto funzionava correttamente....infatti mi riportava tutti i valori assegnati all' "id"..

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ad ogni modo apri e chiudi la connessione fuori dal ciclo, non dentro.

    Roby

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    170
    Si e vero.....hai ragione...
    meglio evitare esplosioni di server.... :rollo:


    cmq continua a dare lo stesso problema anche cosi....

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    <% 
    Dim Conn
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("../db/db.mdb")
    
    Dim tot, id, tab
    tot=request.querystring("tot")
    tab=request.querystring("tab")
    for i = 0 to tot
    val=Request.Form("form"&i)
    id=Request.Form("id"&i)
    
    SQL="UPDATE " & tab & " set selezione='"& val &"' WHERE id="&id
    response.write sql &"
    "
    'Conn.Execute(SQL)
    next
    conn.Close
    Set conn=Nothing
    %>
    vediamo cosa stampa.

    Roby

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    170
    allora.....
    dalla stampa della stringa Sql, mi sono accorto che il primo valore dell' "id" era vuoto.....errore causato dal fatto che ho fatto partire il ciclo da 0 e non da 1...quindi giustamente andava a leggere un campo che non esisteva e quindi vuoto.
    Adesso però mi da un altro errore:

    HTTP 500.100 - Errore interno del server - errore ASP
    Internet Information Services

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

    Informazioni tecniche (per il personale del supporto tecnico)

    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
    [Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 1.
    /carlo/pannel/order.asp, line 16


    dalla stampa sql per chi lo vuole sapere mi stampa:

    UPDATE Models set selezione='8' WHERE id=3
    UPDATE Models set selezione='7' WHERE id=4
    UPDATE Models set selezione='6' WHERE id=5
    UPDATE Models set selezione='5' WHERE id=6
    UPDATE Models set selezione='4' WHERE id=8
    UPDATE Models set selezione='3' WHERE id=9
    UPDATE Models set selezione='2' WHERE id=10
    UPDATE Models set selezione='1' WHERE id=11



    altro mistero...... VVoVe:

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Selezione è un campo testo o numerico?

    Roby

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.