以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  登录防止重复登录  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=172865)

--  作者:aaa1234
--  发布时间:2021/11/4 17:50:00
--  登录防止重复登录
老师你好,我想问问已下这个重复登录的问题,我现在计划管理那里判断不出是否多人登录,导致他一直弹出有人在登录,可以帮我看一下吗,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日常小练.zip


--  作者:aaa1234
--  发布时间:2021/11/4 17:52:00
--  
我分别在计划管理跟AfterOpenProject跟BeforeCloseProject 都有写了代码
--  作者:aaa1234
--  发布时间:2021/11/4 18:01:00
--  
或者老师有没有更好的方法可以禁止多人登录一个号图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2021/11/4 20:26:00
--  
看不到用户状态表。这种用法没有办法处理异常退出的情况

建议使用openQQ,在客户端的的Disconnected事件退出项目即可

--  作者:aaa1234
--  发布时间:2021/11/5 8:56:00
--  
老师你好我想问一下是不是在网络监视器里面Disconnected写这个就好呀Dim dr As DataRow = DataTables("用户登录状态表").SQLFind("Num = \'" & _login_num & "\'")
If dr IsNot Nothing Then
    dr.Delete
    dr.Save
End If

\'查询是否有状态记录用户名等于本次登录用户名且state为0的记录,如果有则清除,以此消除非正常退出留下的记录
Dim drs As List(of DataRow)  = DataTables("用户登录状态表").SQLSelect("user_ID = \'" & user.Name & "\'")
If drs IsNot Nothing Then
    For Each dr1 As DataRow In drs
        If dr1("state") = "0" Then
            dr1.Delete
            dr1.Save()
        End If
    Next
End If

--  作者:有点蓝
--  发布时间:2021/11/5 9:12:00
--  
如果使用了openQQ,完全不需要控制什么用户状态。在Disconnected直接退出项目即可,因为触发Disconnected肯定就是同一个账户在其它地方登录或者网络不通了:http://www.foxtable.com/webhelp/topics/2996.htm
--  作者:aaa1234
--  发布时间:2021/11/5 9:41:00
--  
我是把代码直接放在Disconnected里面还是跟官方文档一样,还是跟官方文档一样建表跟着步骤做
--  作者:有点蓝
--  发布时间:2021/11/5 9:43:00
--  
如果知道openQQ怎么使用了,就直接在Disconnected添加退出项目的代码即可

如果还没用过openQQ,先看帮助学习,把openQQ用起来再说其它的

--  作者:aaa1234
--  发布时间:2021/11/5 9:44:00
--  
好的谢谢老师
--  作者:aaa1234
--  发布时间:2021/11/5 10:12:00
--  
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.10.16.1
错误所在事件:窗口,主控窗口,Button26,Click
详细错误信息:
FillSchema: SelectCommand.Connection 属性尚未初始化。 老师这个是什么意思呀