global.asa probelm...

ASP

2 svar · 160 visningar · startad av Cmart

Medlem sedan feb. 200269 inlägg
Trådstart#1

jag har en funktion i global.asa som skapar en lista på vilka som är inloggade på siten...hur gör jag för att filtrera bort så att ett nytt fält inte skapas om användaren redan är online...som det är nu som skrivs användaren som "online" om han ex har flera likadan fönster öppna eller om han kommer tillbaka till siten innan sessionen timat out....

så här ser det ut i global.asa

If Not rstActiveUsers.EOF Then
rstActiveUsers.MoveLast

rstActiveUsers.AddNew

rstActiveUsers.Fields("users").Value = guser


rstActiveUsers.Fields("id").Value = Session.SessionID
rstActiveUsers.Update

end if

Medlem sedan dec. 200012 464 inlägg
#2

Du får söka igenom ditt recordset för att se om användaren redan finns.

Du kan använda metoden find

If Not rstActiveUsers.EOF Then 
rstActiveUsers.moveFirst
rstActiveUsers.Find "users = '" & guser & "'"
end if
if rstActiveUsers.eof then
'fanns inte lägg till
rstActiveUsers.MoveLast

rstActiveUsers.AddNew

rstActiveUsers.Fields("users").Value = guser

rstActiveUsers.Fields("id").Value = Session.SessionID
rstActiveUsers.Update

end if

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthfindmethodado.asp

Medlem sedan feb. 200269 inlägg
#3

funkar inte av nån konstig anledning...kan det ha nått at göra med att det är en "virtuell" databas...

Den skapas vid Application_OnStart:

Sub Application_OnStart

Const adInteger = 3
Const adVarChar = 200
Const adDate = 7


rstActiveUsers.Fields.Append "users", adVarChar, 50
rstActiveUsers.Fields.Append "id", adInteger

rstActiveUsers.Open

End Sub

259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)