Foxtable(狐表)用户栏目专家坐堂 → [求助]查看还登录在系统中的用户


  共有6065人关注过本帖树形打印复制链接

主题:[求助]查看还登录在系统中的用户

帅哥哟,离线,有人找我吗?
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1446 积分:11217 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]查看还登录在系统中的用户  发帖心情 Post By:2022/4/13 12:38:00 [只看该作者]

想知道还有哪些用户登录在系统中没有退出,要怎么弄

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113780 积分:579473 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/13 13:35:00 [只看该作者]

用户表增加一个登录时间列,登录窗口确定按钮给这个列赋值。项目beforecloseproject事件清空对应用户这个列的值。

判断如果登录时间列有值,说明没有退出

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1446 积分:11217 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2022/4/13 16:36:00 [只看该作者]

嗯 ,我在beforecloseproject中按下面处理,没删除成功
DataTables("在线用户").DeleteFor("用户='" & _UserName & "'")
DataTables("在线用户").RemoveFor("用户='" & _UserName & "'")
DataTables("在线用户").save()
[此贴子已经被作者于2022/4/13 16:35:54编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113780 积分:579473 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/13 16:52:00 [只看该作者]

DataTables("在线用户").DeleteFor("用户='" & _UserName & "'")
DataTables("在线用户").save()

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1446 积分:11217 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2022/4/13 19:20:00 [只看该作者]

直接那样删除还是不行,通过下面这种方式解决了
Dim cmd2 As New S QLCommand
cmd2.C
cmd2.C ommandText = "U pdate {在线用户} Set 登录时间 = Null Where 用户 = '" & _UserName & "'"
cmd2.E xecuteNonQuery()

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1446 积分:11217 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2022/4/14 13:49:00 [只看该作者]

全局表事件DataRowAdding
If e.DataTable.Name <> "系统操作日志"  And e.DataTable.Name <> "在线用户" Then
    Dim da As DateTime = Date.Now()
    Dim dr1 As DataRow
    dr1 = DataTables("系统操作日志").Find("用户 = '" & _UserName & "' and 操作表 = '" & e.DataTable.Name & "' and 时间 = '" & da & "'","时间 Desc")
    If dr1 Is Nothing Then
        Dim dr As DataRow = DataTables("系统操作日志").AddNew()
        dr("用户") = _UserName
        dr("操作表") = e.DataTable.Name
        dr("操作列") = Nothing
        dr("时间") = Date.Now
        dr("操作内容") = "该用户在此表进行了增加行操作"
    End If
End If

想实现在同一个时间里进行同一个操作的,如批量导入数据增加行,日志表中只增加一条记录就可以,上面代码还是会增加多条日志
[此贴子已经被作者于2022/4/14 13:53:18编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113780 积分:579473 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/14 14:05:00 [只看该作者]

举例具体数据说一下,比如什么时间属于同一个时间?时间值有时分秒?Date.Now()有毫秒的

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1446 积分:11217 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2022/4/14 14:10:00 [只看该作者]

按分钟,如2022-04-13 12:27

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113780 积分:579473 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/14 14:23:00 [只看该作者]

那要这样设置查询条件:时间 >='2022-04-13 12:27' and 时间 <'2022-04-13 12:28‘’

 回到顶部