webForumDet fria alternativet

Problem med DateDiff

ASP

3 svar · 245 visningar · startad av SebastianE

Medlem sedan nov. 2004100 inlägg
Frågan#1

Har problem med DateDiff av ngn anledning. Får fram felmeddelande:
error '80020009'

Koden för sidan status.inc

<%' kap 1 %>
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0; "&_
"Data Source="&Server.MapPath("db/anvandare.mdb")

SQL = "UPDATE anvandaren SET tid = '"&now&"' WHERE userid = '"&Session("userid")&"'"
Connection.Execute(SQL) 'Uppdaterar databasen

Connection.Close 'Stänger databasen
Set Connection = Nothing 'Frigör objektet
%>
<%' kap 2 %>
<%
Function online(userid)

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0; "&_
"Data Source="&Server.MapPath("db/anvandare.mdb")

SQL = "SELECT * FROM anvandaren WHERE userid = '"&Session("userid")&"'"
Set RS = Connection.Execute(SQL)

If DateDiff("n", RS("tid"), Now) > 15 Then 'Här det koden som har problem

   online = 0 'Inte online
  Else
   online = 1 'Online
  End If
  RS.Close 'Stänger RecordSet
  Set RS = nothing 'Frigör objektet
  Connection.Close 'Stänger databasen
  Set Connection = nothing 'Frigör objektet
End Function
%>
<%' kap 3 %>
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0; "&_
"Data Source="&Server.MapPath("db/anvandare.mdb")

Userid = Session("userid") 'Här anger du vilken användare du vill kolla statusen på
If online(userid) = "1" Then 'Anropar funktionen
Response.Write("Online") 'Skriver ut "Online"
Else
Response.Write("Offline") 'Skriver ut "Offline"
End If

Connection.Close 'Stänger databasen
Set Connection = Nothing 'Frigör objektet
%>
<%' kap 4 %>
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0; "&_
"Data Source="&Server.MapPath("db/anvandare.mdb")

tid = DateAdd("n",-6,now) 'Minskar realtiden med 6 minuter
SQL = "UPDATE anvandaren SET tid = '"&tid&"' WHERE userid = '"&Session("userid")&"'" 'Uppdaterar databasen
connection.Execute(SQL) 'Uppdaterar databasen

connection.Close 'Stänger databasen
Set connection = Nothing 'Frigör objektet
%>
Medlem sedan juni 200032 967 inlägg
#2

Jag gissar på att recordsetet är EOF, kontrollera alltid detta innan du försöker använda information från det.

Dessutom vore det jättenajsigt om du använde [kod]-taggar när du postar kod, så blir det lättare att läsa, och därmed lättare att hjälpa.

Och till sist; välkommen till wF! :bire

Medlem sedan nov. 2004100 inlägg
#3

Nja, just det userid får ett värde på tid, så det blir inte eof. Okej, som du kanske märkte utav så har jag nyss kommit till wf så jag får snoka runt lite på sidan för att hitta saker och ting. Tack så mycket.

Medlem sedan maj 2003352 inlägg
#4

Vilken rad ligger felet på?

267 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)