以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  OpenQQ 用户信息即时更新问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=117521)

--  作者:wakai
--  发布时间:2018/4/13 22:16:00
--  OpenQQ 用户信息即时更新问题

现存在问题,服务端是一直在运行,当用户新增或修改了密码后,必须重新运行服务端其才能登陆,这样就造成每一个新增一个或修改就要重启,要什么方法解决,用SQL是否可以要怎么写

服务端UserLogging

代码如下:

Dim pts() As String = e.UserName.Split(".")
Dim dr1 As DataRow
dr1 = DataTables("权限").Find("部门 = \'" & pts(0) & "\' And 名称 = \'" & pts(1) & "\'")
If dr1 Is Nothing  Then \'判断此用户不存在
    e.Message  = "用户名错误!" \'返回给登录者的提示信息
    Return
End If
If dr1("密码") <> e.Password Then \'如果密码错误
    e.Message  = "登录密码错误!" \'返回给登录者的提示信息
    Return
End If
e.Success = True \'允许用户登录
\'添加所有同事为好友
For Each dr2 As DataRow In DataTables("权限").DataRows
    Dim nm As String =  dr2("部门") & "." & dr2("名称")
    If nm <> e.UserName Then \'如果不是登录者本人
        e.Buddies.Add(nm)
    End If
Next

--  作者:有点蓝
--  发布时间:2018/4/13 22:27:00
--  
直接获取后台数据
dr1 = DataTables("权限").SqlFind("部门 = \'" & pts(0) & "\' And 名称 = \'" & pts(1) & "\'")
……

For Each dr2 As DataRow In DataTables("权限").sqlselect("")
    Dim nm As String =  dr2("部门") & "." & dr2("名称")
    If nm <> e.UserName Then \'如果不是登录者本人
        e.Buddies.Add(nm)
    End If
Next