以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  当前用户数量  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3208)

--  作者:lihe60
--  发布时间:2009/6/19 11:30:00
--  当前用户数量
请问如何统计某个狐表当前用户数量,也就是说有多少人在使用该狐表.
--  作者:狐狸爸爸
--  发布时间:2009/6/19 11:35:00
--  
这个只能自己写代码了。
因为狐表是断开式的,除了保存和提取数据的时候,其他时候都和项目和数据源无联系。
你只有在登陆和退出系统的时候,用代码登记。
--  作者:qtcks
--  发布时间:2009/6/19 11:40:00
--  

我看人家的操作是这样
建立一个用户在线信息表.
用户的登录时,将信息记录到在线用户表.
打开各模块时进行用户表模块记录更新.
超过特定时间无操作的,后台进行剔除(sql 事件)


--  作者:狐狸爸爸
--  发布时间:2009/6/19 11:41:00
--  
以下是引用qtcks在2009-6-19 11:40:00的发言:

我看人家的操作是这样
建立一个用户在线信息表.
用户的登录时,将信息记录到在线用户表.
打开各模块时进行用户表模块记录更新.
超过特定时间无操作的,后台进行剔除(sql 事件)


就是这个意思。
不过在foxtable中更简单,退出的时候删除即可。

[此贴子已经被作者于2009-6-19 11:41:50编辑过]

--  作者:cpayinyuan
--  发布时间:2009/6/19 13:29:00
--  
以下是引用狐狸爸爸在2009-6-19 11:41:00的发言:


就是这个意思。
不过在foxtable中更简单,退出的时候删除即可。

[此贴子已经被作者于2009-6-19 11:41:50编辑过]

请教个问题:意外强制退出的问题怎么解决。

例如某个客户端死机了,强制退出,这时候不会执行项目关闭之前的代码,也就不会在数据库中删除该用户的登录记录,数据库中该用户会一直处理登录状态。这是个经常会遇到的问题。


--  作者:狐狸爸爸
--  发布时间:2009/6/19 15:03:00
--  

成熟的系统,很少强制退出的。
而且通常意外退出的,他还得登录的。
反正是估计的,又不是确切的数量。


--  作者:cpayinyuan
--  发布时间:2009/6/19 16:36:00
--  
以下是引用狐狸爸爸在2009-6-19 15:03:00的发言:

成熟的系统,很少强制退出的。
而且通常意外退出的,他还得登录的。
反正是估计的,又不是确切的数量。

贺老师的回答让人无法接受:
(1)同时在线的用户数量本来就不多(一般不超过10人,最多几十人),不准确、有一个大约数就没有任何意义。
(2)强制退出往往都不是自愿的,是迫不得已,像狐表这样的系统,死机的频率应该算偏高的,大家作为非专业的开发人员,代码造成死机的可能性也比较大,强制退出的机率应该说还比较高。当前在
(3)你说意外退出的,他还得再登录。这只是通常的情况,不具有必然性,程序中需要准确,不能是大概、一般。
(4)在很多时候,系统管理员知道当前有哪些用户登录是很用的。

所以,期待贺老师想一个办法,解决意外退出时如何在外部数据表中进行记录的问题。
--  作者:狐狸爸爸
--  发布时间:2009/6/19 16:40:00
--  
这个不用我想办法啊,很容易解决的嘛。
你加一个计划,每5分钟向某个表中写入用户名和当前时间,就象定期“报到”一样。
长期不报道的,除名了事。
[此贴子已经被作者于2009-6-19 16:52:02编辑过]

--  作者:jinxilin
--  发布时间:2014/8/9 16:23:00
--  
以下是引用狐狸爸爸在2009-6-19 16:40:00的发言:
这个不用我想办法啊,很容易解决的嘛。
你加一个计划,每5分钟向某个表中写入用户名和当前时间,就象定期“报到”一样。
长期不报道的,除名了事。
[此贴子已经被作者于2009-6-19 16:52:02编辑过]

我建了一个计划,每30秒向用户在线计数中写入相关信息,为什么没有运行?
 请帮我看下是哪里的问题。

 新建了一个 计划1 时间是30秒,30000 
计划向用户在线计数表中两列写入用户名和时间, 

Dim tbl As Table = Tables("用户在线计数")     \'将相关位置信息写入要的表中\' 
If tbl.Current IsNot Nothing Then 
     Tables("用户在线计数").Current("用户名") = _UserName 
     Tables("用户在线计数").Current("在线时间") = Date.Today 
End If 


 在用户登录按钮上写了开始计划, 

 MyTimers("计划1").Enabled = True   \'开始计划1 

 就是不运行,是怎么回事呢?
[此贴子已经被作者于2014-8-9 16:24:12编辑过]

--  作者:Bin
--  发布时间:2014/8/9 16:24:00
--  
同一个问题,不要提问多次.