以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 用户管理死机 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131325) |
-- 作者:qqhealth -- 发布时间:2019/2/23 8:13:00 -- 用户管理死机 老师您好,通过开发者进入客户端的用户管理,出现死机。 ![]() ![]() |
-- 作者:有点蓝 -- 发布时间:2019/2/23 8:54:00 -- 设置使用了外部用户表,然后没有连接到数据源,或者数据源里这个表没有了。 重新添加这个用户表到外部数据源里,表名称为Users:http://www.foxtable.com/webhelp/scr/2723.htm
|
-- 作者:qqhealth -- 发布时间:2019/2/24 21:36:00 -- 谢谢!可以了,这个users外部表如何与qqserver的用户表统一呢? |
-- 作者:有点甜 -- 发布时间:2019/2/24 22:16:00 -- 以下是引用qqhealth在2019/2/24 21:36:00的发言:
谢谢!可以了,这个users外部表如何与qqserver的用户表统一呢?
无法直接统一的。如果你希望使用users表作为qqserver的用户表,你需要适当修改qqserver的代码。
|
-- 作者:qqhealth -- 发布时间:2019/3/3 10:20:00 -- 老师您好,我用了外部数据源users表作为qqserver的用户表,修改的代码如下,项目服务端启动还是失败。请帮看看问题在哪?谢谢! Dim pts() As String = e.UserName.Split(".") Dim dr As DataRow dr = DataTables("Users").Find("部门 = \'" & pts(0) & "\' And Name = \'" & pts(1) & "\'") If dr Is Nothing Then \'判断此用户不存在 e.Message = "用户名错误!" \'返回给登录者的提示信息 Return End If If dr("PassWord") <> e.Password Then \'如果密码错误 e.Message = "登录密码错误!" \'返回给登录者的提示信息 Return End If e.Success = True \'允许用户登录 \'添加存储在好友列的非本部门的好友 If dr.IsNull("好友") = False Then Dim nms() As String = dr("好友").Split(",") e.Buddies.AddRange(nms) End If \'最后添加相同部门的同事为好友 For Each dr In DataTables("Users").Select("部门 = \'" & pts(0) & "\'") Dim nm As String = dr("部门") & "." & dr("Name") If e.Buddies.Contains(nm)= False Then \'如果不是登录者本人 e.Buddies.Add(nm) End If Next If e.User IsNot Nothing Then \'通过了内置身份验证 e.Success = True \'允许用户登录 Else \'未通过内置身份验证 End If ![]() ![]() |
-- 作者:qqhealth -- 发布时间:2019/3/3 10:26:00 -- Dim pts() As String = e.UserName.Split(".") Dim dr As DataRow dr = DataTables("Users").Find("部门 = \'" & pts(0) & "\' And Name = \'" & pts(1) & "\'") If dr Is Nothing Then e.Message = "用户名错误!" Return End If If dr("PassWord") <> e.Password Then e.Message = "登录密码错误!" Return End If e.Success = True If dr.IsNull("好友") = False Then Dim nms() As String = dr("好友").Split(",") e.Buddies.AddRange(nms) End If For Each dr In DataTables("Users").Select("部门 = \'" & pts(0) & "\'") Dim nm As String = dr("部门") & "." & dr("Name") If e.Buddies.Contains(nm)= False Then e.Buddies.Add(nm) End If Next If e.User IsNot Nothing Then e.Success = True Else End If |
-- 作者:有点甜 -- 发布时间:2019/3/3 10:49:00 -- 具体项目做个实例发上来测试。 |
-- 作者:qqhealth -- 发布时间:2019/3/3 11:22:00 -- 窗口代码有点问题,解决了,谢谢! |