webForumDet fria alternativet

global.asa probelm...

ASP

2 svar · 142 visningar · startad av Cmart

Medlem sedan feb. 200269 inlägg
Frågan#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

------------------
essentitia preter non sans multiplicandum

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

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)