Foxtable(狐表)用户栏目专家坐堂 → 请帮修改代码?


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

主题:请帮修改代码?

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


加好友 发短信
等级:幼狐 帖子:50 积分:449 威望:0 精华:0 注册:2018/7/18 8:22:00
请帮修改代码?  发帖心情 Post By:2018/8/19 22:15:00 [只看该作者]

在自动义用户系统登录设计中,在“用户管理”窗口的AfterLoad事件中,代码如下:

Dim lst As WinForm.ListBox = e.Form.Controls("ListBox1")
lst.ComboList = _UserTable.SQLGetComboListString("Name","","用户编号")
If Lst.Items.Count > 0 Then
     lst.SelectedIndex = 0
End If

只能提取user表中Name列不重复的用户,相同用户只提取了一个,要提取所有Name列的用户(相同用户),代码怎样修改,请指教。谢谢!


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/19 22:21:00 [只看该作者]

你的逻辑本身就有问题,登录用户肯定是不允许有同名的

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


加好友 发短信
等级:幼狐 帖子:50 积分:449 威望:0 精华:0 注册:2018/7/18 8:22:00
  发帖心情 Post By:2018/8/19 22:27:00 [只看该作者]

因姓名有相同的,所以增加了“身份证”列来区别。但发现修改用户时,“用户管理”窗口,姓名相同只能显示一个。请帮修改一下代码。谢谢!
[此贴子已经被作者于2018/8/19 22:28:21编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/19 22:39:00 [只看该作者]

同名建议使用工号,或者部门+姓名(类似:销售部.张三),或者张三2、张三3这种。不建议把身份证号码放到登录窗口公开谁都知道

如果一定要用,也应该依然是显示一个,然后把同名下的不同身份证列出来供选择,就是要选2次。

同名列2个出来基本没有意义,逻辑本身就是错的

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


加好友 发短信
等级:幼狐 帖子:50 积分:449 威望:0 精华:0 注册:2018/7/18 8:22:00
  发帖心情 Post By:2018/8/19 22:52:00 [只看该作者]

是这样的,但在“用户管理”窗口中,“更改用户”时,无法选择未显示的用户(重复姓名)进行修改。请指教?


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/19 23:06:00 [只看该作者]

不能有同名的登录用户。

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


加好友 发短信
等级:幼狐 帖子:50 积分:449 威望:0 精华:0 注册:2018/7/18 8:22:00
  发帖心情 Post By:2018/8/22 17:27:00 [只看该作者]

根据自定义用户二修改用户(UsrName)为姓名-身份证(UserNameCard),代码事件如下:
'自定义用户系统,"更改用户"窗口AfterLoad事件。
Dim UserNameCard As String
Dim UserGroup As String
Dim UserRoles As String
Dim PassWord As String
Dim dr As DataRow
If Forms("用户管理").Opened Then '正常打开
    UserNameCard = Forms("用户管理").Controls("ListBox1").SelectedItem
Else
    UserNameCard = _UserNameCard '_UserNameCard为全局变量,用于保存当前用户名
    e.Form.Controls("UserNameCard").Enabled = False
    e.Form.Controls("UserGroup").Enabled = False
    e.Form.Controls("UserRoles").Enabled = False
End If
e.Form.Text = e.Form.Text & "-" & UserNameCard
dr = _UserTable.SQLFind("[姓名身份证] = '" & UserNameCard & "'")
If dr IsNot Nothing Then
    e.Form.Controls("UserNameCard").Value = UserNameCard
    e.Form.Controls("UserGroup").Value = dr("Group")
    e.Form.Controls("UserRoles").Value = dr("Role")
    e.Form.Controls("PassWord").Value = DecryptText(dr("PassWord"),"wjh","jyj")
Else
    MessageBox.Show("用户不存在或者已经被删除!","提示",MessageBoxButtons.OK)
    e.Form.Close()
End If

'自定义用户系统,"更改用户"窗口的确定按钮Click事件。
Dim UserNameCard As String = e.Form.Controls("UserNameCard").Value
Dim UserGroup As String  = e.Form.Controls("UserGroup").Value
Dim UserRoles As String  = e.Form.Controls("UserRoles").Value
Dim PassWord As String = e.Form.Controls("PassWord").Value
Dim OldUserNameCard As String
Dim Parts() As String = e.Form.Text.Split("-"c)
OldUserNameCard =  Parts(Parts.Length -1)
If UserNameCard = "" OrElse UserGroup = "" Then
    Messagebox.show("请输入用户名和用户分组!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
Dim dr As DataRow = _UserTable.SQLFind("[姓名身份证]= '" & OldUserNameCard & "'")
If dr IsNot Nothing Then
    dr("姓名身份证") = UserNameCard
    dr("Group") = UserGroup
    dr("Role") = UserRoles
    dr("Password") = EncryptText(PassWord,"wjh","jyj")
    dr.Save()
    If Forms("用户管理").Opened Then
        With Forms("用户管理").Controls("ListBox1")
            .Items(.SelectedIndex) = UserNameCard
        End With
    End If
    e.Form.Close
Else
    Messagebox.show("更改用户失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
运行结果:修改用户信息后,点击“确定”按钮,提示"更改用户失败!",请帮修改一下代码,谢谢!

[此贴子已经被作者于2018/8/22 17:28:33编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/22 17:35:00 [只看该作者]

msgbox("[姓名身份证]= '" & OldUserNameCard & "'"

上面代码显示什么内容?数据库有没有对应的记录?

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


加好友 发短信
等级:幼狐 帖子:50 积分:449 威望:0 精华:0 注册:2018/7/18 8:22:00
  发帖心情 Post By:2018/8/22 17:58:00 [只看该作者]

显示是:[姓名身份证]= ‘1’

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/22 20:05:00 [只看该作者]

数据库有[姓名身份证]= ‘1’的记录吗?

 回到顶部
总数 13 1 2 下一页