Ich verstehe nicht, warum Du rs("totmann") auf NULL abfragst...
Das ist Doch das Datum der letzten Aktion, d.h. das ist immer gesetzt,
denn schon beim einloggen wird das auf den einloggzeitpunkt
gesetzt(empfehlenswert!, vereinfacht sp�tere anfragen)...

Also:
- Tabelle q_whoisonline(dt, ende, totmann, ...)
- Beim einloggen wird dt und totmann auf now gesetzt
- Bei jeder aktion wird totmann auf now gesetzt
- beim ausloggen wird ende und totmann auf now gesetzt
- Um verlorene "Sessions" zu finden und schliessen:

<%
  strSQL = "UPDATE q_whoisonline set ende=totmann where ((DateDiff('m',
now, totmann) > 15) and (ende is null)"
  conn.execute strSQL
%>

Macht das Sinn?

Claudius

> -----Original Message-----
> From: Mayer, Stefan [mailto:[EMAIL PROTECTED]] 
> Sent: Montag, 3. Juni 2002 14:11
> To: ASP Datenbankprogrammierung
> Subject: [aspdedatabase] "Wer ist online"-Problem
> 
> 
> Vor kurzem habe ich hier shcon mal mein 
> "Wer-Ist-Online"-Problem andiskutiert.
> 
> Zusammengefa�t: Ich speichere zu jedem Benutzer ein 
> Startdatum (=dt), ein Enddatum (=leer) und ein Datum/Zeit der 
> letzten Aktion (=totmann).
>  
> Wer die Seite verl�sst bekommt, das Feld "Ende" auf now 
> gesetzt. Und weil das nicht immer geht, soll die 
> Wer-Ist-Online-Seite vor der Anzeige pr�fen, welcher User 
> nicht korrekt ausgestiegen ist und bekommt datum & Zeit der 
> letzten Aktion als End-Zeit eingetragen.
> 
> Dummerweise bleiben ein paar Leute aber immer in der Liste 
> stehen, obwohl seit Stunden keine Aktion mehr erfolgte.
> 
> Hier das Script: 
> 
> 
> --- cut ---
>   strSQL = "SELECT * FROM q_whoisonline where ((DateDiff('m', now,
> totmann) > 15) or ((totmann is null) AND (DateDiff('m', now, 
> dt)) > 15)) and (ende is null)"
>   rs.Cursortype = 1
>   rs.Locktype = 3
> 
>   rs.Open strSQL, conn
>   while not rs.eof
>     if isNull(rs("totmann")) then
>       rs("ende") = rs("dt")
>     else
>       rs("ende") = rs("totmann")
>     end if
>     rs.update
>     rs.movenext
>   wend
>   rs.close 
> --- cut ---
> 
> | [aspdedatabase] als [EMAIL PROTECTED] subscribed 
> | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv Sie 
> | k�nnen sich unter folgender URL an- und abmelden: 
> | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
> 


| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an