nbsp; Else SQL = "Delete From [Dv_Online] Where UserID=0 And Datediff(''''s'''', Lastimebk, " & SqlNowString & ") > " & Dvbbs.Forum_Setting(8) & "*60" SQL1 = "Delete From [Dv_Online] Where UserID>0 And Datediff(''''s'''', Lastimebk, " & SqlNowString & ") > " & Dvbbs.Forum_Setting(8) & "*60" End If Conn.Execute SQL,TempNum Conn.Execute SQL1,TempNum1 Dvbbs.SqlQueryNum = Dvbbs.SqlQueryNum + 2 ''''如果删除客人数大于0,则应该更新总数 If TempNum>0 Then ''''更新缓存总在线数据 Forum_Online = Forum_Online - TempNum Forum_GuestOnline = Forum_GuestOnline - TempNum End If ''''如果删除用户数大于0,则应该更新总数和用户数 If TempNum1>0 Or TempNum>0 Then ''''更新缓存总在线数据 Forum_Online = Forum_Online - TempNum1 Forum_UserOnline = Forum_UserOnline - TempNum1
End If Dvbbs.Name="Forum_Online" Dvbbs.Value=Forum_Online ''''更新缓存总用户在线数据 Dvbbs.Name="Forum_UserOnline" Dvbbs.Value=Forum_UserOnline Forum_Online = Forum_Online - TempNum1 End If End Sub ''''刷新在线数据缓存 Public Sub ReflashOnlineNum Dim Rs Set Rs=Dvbbs.Execute("Select Count(*) From Dv_Online") Dvbbs.Value=Rs(0) Forum_Online = Dvbbs.Value Dvbbs.Name="Forum_UserOnline" Set Rs=Dvbbs.Execute("Select Count(*) From Dv_Online Where UserID>0") If Not IsNull(Rs(0)) Then Dvbbs.Value=Rs(0) Else Dvbbs.Value=0 End If Forum_UserOnline = Dvbbs.Value Set Rs=Nothing End Sub ''''查询在某版面的在线总数 Public Property Get Board_Online Board_Online=Board_UserOnline+Board_GuestOnline End Property Public Property Get Board_GuestOnline If l_GuestOnline=-1 Then Dim Rs Set Rs=Dvbbs.Execute("Select Count(*) From Dv_Online where BoardID="&Dvbbs.BoardID&" and UserID=0") l_GuestOnline=Rs(0):Set Rs= Nothing End If If IsNull(l_GuestOnline) Then l_GuestOnline=0 Board_GuestOnline=l_GuestOnline End Property Public Property Get Board_UserOnline If l_Online=-1 Then Dim Rs Set Rs=Dvbbs.Execute("Select Count(*) From Dv_Online where BoardID="&Dvbbs.BoardID&" and UserID>0") l_Online=Rs(0):Set Rs= Nothing End If Board_UserOnline=l_Online End Property End Class %>