会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
太忙还是太懒
其实是太懒多一点,授予渔比鱼好一点。
首页
新随笔
联系
管理
aspnet_Membership_GetNumberOfUsersOnline
ALTER
PROCEDURE
dbo.aspnet_Membership_GetNumberOfUsersOnline
--
查询在线用户
@ApplicationName
NVARCHAR
(
256
),
@MinutesSinceLastInActive
INT
,
@TimeZoneAdjustment
INT
--
显示新的本地时间而必须添加到 [通用协调时间](utc) 的分钟数。
AS
BEGIN
DECLARE
@DateActive
DATETIME
--
声明变量活动时间
SELECT
@DateActive
=
DATEADD
(minute,
-
(
@MinutesSinceLastInActive
+
@TimeZoneAdjustment
),
GETDATE
())
/**/
/*
当前时间的分钟数加上-(@MinutesSinceLastInActive + @TimeZoneAdjustment),字段……
*/
/**/
/*
GETDATE()按 datetime 值的 Microsoft? SQL Server? 标准内部格式返回当前系统日期和时间
*/
DECLARE
@NumOnline
INT
--
声明变量用户在线数
SELECT
@NumOnline
=
COUNT
(
*
)
FROM
dbo.aspnet_Users u(NOLOCK),
dbo.aspnet_Applications a(NOLOCK),
dbo.aspnet_Membership m(NOLOCK)
WHERE
u.ApplicationId
=
a.ApplicationId
AND
LastActivityDate
>
@DateActive
AND
a.LoweredApplicationName
=
LOWER
(
@ApplicationName
)
AND
u.UserId
=
m.UserId
/**/
/*
最近活动时间大于设置的活动的时间就表示用户在线,可能是因为用户状态的原因,客户端不
在线的话,服务器还要保存用户状态一段时间,所以要设置一个活动时间@DateActive。
好象有点。
*/
RETURN
(
@NumOnline
)
--
返回查询符合条件的在线数
/**/
/*
COUNT()返回组中项目的数量
*/
END
posted on
2006-08-30 09:17
MainIsUsed
阅读(
585
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部