Foxtable(狐表)用户栏目专家坐堂 → [求助]请问QQServer的UserLogging是在什么情况下触发的?


  共有2087人关注过本帖树形打印复制链接

主题:[求助]请问QQServer的UserLogging是在什么情况下触发的?

帅哥哟,离线,有人找我吗?
无我是天机
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:233 积分:2602 威望:0 精华:0 注册:2013/9/2 23:31:00
[求助]请问QQServer的UserLogging是在什么情况下触发的?  发帖心情 Post By:2016/9/1 18:02:00 [只看该作者]

在帮助文档中查看,说是在“有用户申请登录时触发”。可是,测试(没有使用的内置身份验证,用的外部数据源,在数据库中自建的User表)了很多遍发现一个问题:当客户端的登录用户不存在于User表中时根本就不会执行UserLogging中的代码。,总提示以下的错误当登录的用户存在于User表中时正常,不会有这个问题):
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1
错误所在事件:项目,Server
详细错误信息:
索引超出了数组界限。

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160901180032.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2016/9/1 18:04:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/1 18:15:00 [只看该作者]

以后麻烦代码直接贴出来,不要截图http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=69632

客户端登录的时候触发

1、保证登录用户名是“部门.名称”的格式
2、查询后判断一下
if dt.datarows.count > 0 then
'......其它代码
end if


 回到顶部
帅哥哟,离线,有人找我吗?
无我是天机
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:233 积分:2602 威望:0 精华:0 注册:2013/9/2 23:31:00
  发帖心情 Post By:2016/9/1 19:31:00 [只看该作者]

蓝版主,刚才试了还是不行,报一样的错。代码中已经按照您说的修改过了,用户名也是“部门.名称”的格式,还要烦请斑竹再帮忙看看。UserLogging中的代码见附件文档。(再补充说明一下:比如用户表中有张三、李四,那么用这两个用户名登录时,可以正常登录;但是小五在用户表中不存在,用它登录时UserLogging中的代码压根就不会执行,更不会像希望的结果那样弹出“用户名错误”的提示
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码.txt


 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/9/1 20:47:00 [只看该作者]

Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.C
'''''''''''''''''''
Dim pts() As String = e.UserName.Split(".")
If pts.length = 2 Then
    Dim dr As DataRow
    cmd.CommandText = "Sel ect * From {Users} where [Department] = '" & pts(0) & "' And [Name] = '" & pts(1) & "'"
    dt = cmd.ExecuteReader
    If dt.datarows.count > 0 Then
        dr = dt.DataRows(0)
        If dr("Password") <> e.Password Then '如果密码错误
            e.Message  = "登录密码错误!" '返回给登录者的提示信息
            Return
        End If
    Else
        e.Message  = "用户名错误!" '返回给登录者的提示信息
    End If
    
End If

 回到顶部
帅哥哟,离线,有人找我吗?
无我是天机
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:233 积分:2602 威望:0 精华:0 注册:2013/9/2 23:31:00
  发帖心情 Post By:2016/9/1 22:33:00 [只看该作者]

谢谢楼上,问题完美解决!

 回到顶部