Problema con update di un database in un ciclo

  • Creatore Discussione Creatore Discussione Kosimo
  • Data di inizio Data di inizio

Kosimo

Nuovo Utente
3 Set 2015
4
0
1
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%>
___________________________________
 
Mi è difficle trovare un errore senza testare il codice e/o ricevere indicazioni dal browser dove almeno iniziare a cercare.
Prova ad aprire il sito con firefox o crome e vedi se ti indica in quale riga di codice avviene l'errore, putroppo "500 - Internal server error" mi è di poco aiuto.

Il problema può risiedere anche nel database o nelle informazioni che vuoi immettere, quando hai a che fare con date e numeri non è sempre tutto facile.
 

Discussioni simili