Foxtable(狐表)用户栏目专家坐堂 → 提取自定义用户密码出错


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

主题:提取自定义用户密码出错

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


加好友 发短信
等级:童狐 帖子:209 积分:1607 威望:0 精华:0 注册:2012/9/7 20:24:00
提取自定义用户密码出错  发帖心情 Post By:2013/1/19 15:25:00 [只看该作者]

在自定义菜单有个标准按钮“生产修改”,想要实现在单击它时先输入密码才能打开相应的窗口,密码就是当前登录用户的登录密码(根据帮助做的自定义用户),单击事件的代码:

If e.Button.Name="生产修改" Then
    Dim psd As String
    Dim dr As DataRow = DataTables("Users").Find("Name = '" & UserName & "'")
    InputValue(psd,"验证","请输入密码")
    If psd = dr("Password") Then
        Forms("生产修改").Open()
    Else
        Messagebox.Show("密码错误","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
End If

可是在输完密码点击确定后却出现下面的报错,是怎么回事?

 


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

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/19 15:34:00 [只看该作者]

代码改一下


If e.Button.Name="生产修改" Then
    Dim psd As String
    Dim dr As DataRow = DataTables("Users").Find("Name = '" & UserName & "'")
    If dr Is Nothing Then
        msgbox("不存在这个用户")
    Else
        InputValue(psd,"验证","请输入密码")
        If psd = dr("Password") Then
            Forms("生产修改").Open()
        Else
            Messagebox.Show("密码错误","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        End If
    End If
End If

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


加好友 发短信
等级:童狐 帖子:209 积分:1607 威望:0 精华:0 注册:2012/9/7 20:24:00
  发帖心情 Post By:2013/1/19 15:47:00 [只看该作者]

以下是引用lin_hailun在2013-1-19 15:34:00的发言:
代码改一下


If e.Button.Name="生产修改" Then
    Dim psd As String
    Dim dr As DataRow = DataTables("Users").Find("Name = '" & UserName & "'")
    If dr Is Nothing Then
        msgbox("不存在这个用户")
    Else
        InputValue(psd,"验证","请输入密码")
        If psd = dr("Password") Then
            Forms("生产修改").Open()
        Else
            Messagebox.Show("密码错误","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        End If
    End If
End If

谢谢了,用你的代码试了一下,结果直接弹出对话框:不存在这个用户。

后来仔细检查才发现原来是引用的登录用户名错了,应该为:

Dim dr As DataRow = DataTables("Users").Find("Name = '" & _UserName & "'")


 回到顶部