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

Discussione: Problema sql update

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2015
    Messaggi
    6

    Problema sql update

    Salve, spiego la situazione: io e i miei amici stiamo facendo un programmino di calcio manageriale online tra noi. Lo sto programmando in asp.
    Nella pagina in cui si elencano i propri giocatori, c'è una parte di codice secondo il quale se qualcuno di questi è infortunato e la data dell'infortunio è antecedente alla data corrente, nell'update del database mi dovrebbe scalare i giorni intercorsi.

    Lanciando lo script, nell'eventuale update, questo si comporta così:
    1) mi scala i giorni solo sul primo dei giocatori elencati;
    2) mi genera un errore "500 - Internal server error"...

    Dove sbaglio?
    Grazie mille in anticipo per la vostra disponibilità.

    _______________________________
    <%
    varcdc=(Session("cdc"))


    Set dbconn = Server.CreateObject("ADODB.Connection")
    mMapPath = Server.MapPath("./mdb-database/VLMdb.mdb")
    dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & mMapPath & ";"
    sql="select * from squadre where cdc like '" & varcdc &"'"
    Set RS=dbconn.Execute(sql)


    varsqdr=rs("squadra")


    Set dbconn = Server.CreateObject("ADODB.Connection")
    mMapPath = Server.MapPath("./mdb-database/VLMdb.mdb")
    dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & mMapPath & ";"
    sql="select * from giocatori where enabled like false and sqdr like '" & varsqdr &"' order by infortunio desc"
    Set RS=dbconn.Execute(sql)


    do while not rs.eof
    response.write(rs("cogn"))
    response.write("<br>")


    varidgiocatore=(rs("id"))
    varinfortunio=(rs("infortunio"))


    if varinfortunio = 0 then
    response.write("Giocatore in ottime condizioni!")
    response.write("<br>")
    else
    vardataserver=(Date)
    vardtinfortunio=(rs("dtinfortunio"))
    varinfortunio=(rs("infortunio"))

    response.write("Data dell'infortunio: ")
    response.write(vardtinfortunio)
    response.write("<br>")
    response.write("Giorni di infortunio: ")
    response.write(varinfortunio)
    response.write("<br>")

    Dim DataInfortunio
    DataInfortunio = vardtinfortunio
    Dim Differenza
    Differenza = DateDiff("d", DataInfortunio, Date)

    varnewinfortunio=varinfortunio-Differenza

    response.write("Giorni di infortunio restanti: ")
    response.write(varnewinfortunio)
    response.write("<br>")
    response.write("--------")
    response.write("<br>")


    sql="UPDATE giocatori SET infortunio = '" & varnewinfortunio & "', dtinfortunio= '" & vardataserver & "' WHERE id like '" & varidgiocatore &"'"


    'response.write(sql)
    'response.end
    Set RS=dbconn.Execute(sql)
    Set RS = Nothing
    set dbconn = Nothing
    end if


    rs.movenext
    loop


    RS.Close
    dbconn.Close
    Set RS = Nothing
    set dbconn = Nothing%>
    ___________________________________

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Completa la descrizione dell'errore. Senza quello non è semplice capire cosa sia...

    Roby

  3. #3
    in più, togli il commento a questa

    'response.write(sql)

    e posta quello che viene a video

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2015
    Messaggi
    6
    il responso della coda è il seguente:

    Data dell'infortunio: 30/08/2015
    Giorni di infortunio: 20
    Giorni di infortunio restanti: 16
    --------
    UPDATE giocatori SET infortunio = '16', dtinfortunio= '03/09/2015' WHERE id like '1'

    e, effettivamente, all'interno del database, i valori vengono aggiornati.
    Però, nonostante tutto, a video mi compare il seguente errore (e, ovviamente, non è poi possibile proseguire nella navigazione): http://virtuallega.1apps.com/err.jpg

    Ultima modifica di Kosimo; 03-09-2015 a 13:06

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Tralaciando la tipologia di campi... LIKE id = "1" non si può vedere queste righe

    Set RS = Nothing
    set dbconn = Nothing

    dentro l'end if cancellale.
    Stati chiudendo la connessione alla fine del primo ciclo.

    Roby

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2015
    Messaggi
    6
    Perdona la mia amatorialità
    Ho tolto le due righe... ma sempre lo stesso errore

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Rivediamo tutto lo script.

    Roby

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2015
    Messaggi
    6
    eccolo...

    <%
    varcdc=(Session("cdc"))

    Set dbconn = Server.CreateObject("ADODB.Connection")
    mMapPath = Server.MapPath("./mdb-database/VLMdb.mdb")
    dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & mMapPath & ";"
    sql="select * from squadre where cdc like '" & varcdc &"'"
    Set RS=dbconn.Execute(sql)

    varsqdr=rs("squadra")

    Set dbconn = Server.CreateObject("ADODB.Connection")
    mMapPath = Server.MapPath("./mdb-database/VLMdb.mdb")
    dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & mMapPath & ";"
    sql="select * from giocatori where enabled like false and sqdr like '" & varsqdr &"' order by infortunio desc"
    Set RS=dbconn.Execute(sql)

    do while not rs.eof
    response.write(rs("cogn"))
    response.write("<br>")

    varidgiocatore=(rs("id"))
    varinfortunio=(rs("infortunio"))

    if varinfortunio = 0 then
    response.write("Giocatore in ottime condizioni!")
    response.write("<br>")
    else
    vardataserver=(Date)
    vardtinfortunio=(rs("dtinfortunio"))
    varinfortunio=(rs("infortunio"))

    response.write("Data dell'infortunio: ")
    response.write(vardtinfortunio)
    response.write("<br>")
    response.write("Giorni di infortunio: ")
    response.write(varinfortunio)
    response.write("<br>")

    Dim DataInfortunio
    DataInfortunio = vardtinfortunio
    Dim Differenza
    Differenza = DateDiff("d", DataInfortunio, Date)

    varnewinfortunio=varinfortunio-Differenza

    response.write("Giorni di infortunio restanti: ")
    response.write(varnewinfortunio)
    response.write("<br>")
    response.write("--------")
    response.write("<br>")

    sql="UPDATE giocatori SET infortunio = '" & varnewinfortunio & "', dtinfortunio= '" & vardataserver & "' WHERE id like '" & varidgiocatore &"'"

    Set RS=dbconn.Execute(sql)

    end if

    rs.movenext
    loop

    RS.Close
    dbconn.Close
    Set RS = Nothing
    set dbconn = Nothing%>
    Ultima modifica di Kosimo; 03-09-2015 a 14:18

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Questa

    Set RS=dbconn.Execute(sql)

    falla diventare semplicemente:

    dbconn.Execute(sql)

    Roby

  10. #10
    le DIM mettile fuori dal ciclo

Tag per questa discussione

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.