Jeg har et timesystem som ikke rigtig gider virke mere. Jeg har på fornemmelsen at det er min access database der svigter, men hvis i nu skulle se nogle fejl i koden her, så skriv endelig så jeg kan få rettet det.
<body> <% If Session("login") = true Then %> <% mode = request("mode")
if mode = "" then
Session("opr_tid") = Time %> <meta HTTP-EQUIV='REFRESH' target='_self' CONTENT='61; URL=count2.asp?mode=save'> <% end if %> <p> <% if mode = "save" then %>
Set rs = Conn.Execute("SELECT * FROM brugere WHERE id = " & Session("id"))
dividerstykke = rs("tid")/60 If instr(dividerstykke, ",") Then Response.Write "" Else strSQL = ("UPDATE brugere SET penge=penge+1 WHERE id=" & Session("id")) Conn.Execute(strSQL) End If
Set rs = Nothing
Conn.Close Set Conn = Nothing
Response.Write "<meta HTTP-EQUIV='REFRESH' target='_self' CONTENT='0000; URL=count2.asp'>" %> <% end if %> <% Else Response.Write "Logger af..." End If %> </font></font> </body>
I 9 ud af 10 tilfælde skyldes problemer med databasen at ens SQL-sætninger indeholder noget andet end det man forventede. Derfor er det altid værdifuldt, som debugning, at prøve at udskrive SQL-sætningerne før at man forsøger at udføre dem:
<body> <% If Session("login") = True Then mode = Request("mode")
If mode = "" Then Session("opr_tid") = Time %> <meta HTTP-EQUIV='REFRESH' target='_self' CONTENT='61; URL=count2.asp?mode=save'> <% End If %> <p> <% If mode = "save" Then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath ("../../db/c1o2m3m4u5n6i7t8y9.mdb") Conn.Open DSN
strSQL = "SELECT * FROM brugere WHERE id = " & Session("id") Response.Write "DEBUG #1: " & strSQL & "<br>" Set rs = Conn.Execute(strSQL)
nytid = rs("tid") + DateDiff("n", Session("opr_tid"), Time) strSQL = "UPDATE brugere SET tid = " & nytid & " WHERE id = " & Session("id") Response.Write "DEBUG #2: " & strSQL & "<br>" Conn.Execute(strSQL)
strSQL = "SELECT * FROM brugere WHERE id = " & Session("id") Response.Write "DEBUG #3: " & strSQL & "<br>" Set rs = Conn.Execute(strSQL)
dividerstykke = rs("tid")/60 If InStr(dividerstykke, ",") Then Response.Write "" Else strSQL = "UPDATE brugere SET penge=penge+1 WHERE id = " & Session("id") Response.Write "DEBUG #4: " & strSQL & "<br>" Conn.Execute(strSQL) End If
Set rs = Nothing
Conn.Close Set Conn = Nothing
' Response.Write "<meta HTTP-EQUIV='REFRESH' target='_self' CONTENT='0000; URL=count2.asp'>" End If Else Response.Write "Logger af..." End If %> </body>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.