以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]查看还登录在系统中的用户 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=176441) |
-- 作者:lgj716330 -- 发布时间:2022/4/13 12:38:00 -- [求助]查看还登录在系统中的用户 想知道还有哪些用户登录在系统中没有退出,要怎么弄 |
-- 作者:有点蓝 -- 发布时间:2022/4/13 13:35:00 -- 用户表增加一个登录时间列,登录窗口确定按钮给这个列赋值。项目beforecloseproject事件清空对应用户这个列的值。 判断如果登录时间列有值,说明没有退出
|
-- 作者:lgj716330 -- 发布时间:2022/4/13 16:36:00 -- 嗯 ,我在beforecloseproject中按下面处理,没删除成功 DataTables("在线用户").DeleteFor("用户=\'" & _UserName & "\'") DataTables("在线用户").RemoveFor("用户=\'" & _UserName & "\'") DataTables("在线用户").save() [此贴子已经被作者于2022/4/13 16:35:54编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/4/13 16:52:00 -- DataTables("在线用户").DeleteFor("用户=\'" & _UserName & "\'") DataTables("在线用户").save()
|
-- 作者:lgj716330 -- 发布时间: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 -- 发布时间: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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/4/14 14:05:00 -- 举例具体数据说一下,比如什么时间属于同一个时间?时间值有时分秒?Date.Now()有毫秒的 |
-- 作者:lgj716330 -- 发布时间:2022/4/14 14:10:00 -- 按分钟,如2022-04-13 12:27 |
-- 作者:有点蓝 -- 发布时间:2022/4/14 14:23:00 -- 那要这样设置查询条件:时间 >=\'2022-04-13 12:27\' and 时间 <\'2022-04-13 12:28‘’ |