以文本方式查看主题

-  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-02-23 上午8.09.40.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间: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
此主题相关图片如下:屏幕快照 2019-03-03 上午9.35.55.png
按此在新窗口浏览图片

--  作者: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
--  
窗口代码有点问题,解决了,谢谢!