以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]自定义用户管理修改密码问题(已解决) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=11214) |
||||
-- 作者:yyzlxc -- 发布时间:2011/7/13 17:53:00 -- [求助]自定义用户管理修改密码问题(已解决) 将帮助中的案例加到项目中,共四个用户组,发现其他三个用户组都可以修改密码,一个用户组(填报)修改密码出现“更改用户失败!”的提示,不知问题出在哪里?请各位老师帮助看看。谢谢!!
密码是123或888 [此贴子已经被作者于2011-7-13 22:25:25编辑过]
|
||||
-- 作者:yyzlxc -- 发布时间:2011/7/13 20:46:00 -- 刚才又试了一下,用户名是汉字、字母或数字,修改密码都可以成功,但是,如果加上横杠,修改密码就提示“更改用户失败!”,看来代码可能不兼容用户名带横杠的实例,各位老师是否可以看看,如何调整代码,使代码可兼容带横杠的用户名。谢谢!! 代码如下: Dim UserName As String = e.Form.Controls("UserName").Value |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/7/13 21:00:00 -- 显示一下合成的SQL语句,你就知道原因了:
cmd.CommandText = "Update {Users} Set [Name] = \'" & UserName & "\',[Group] = \'" & UserGroup |
||||
-- 作者:yyzlxc -- 发布时间:2011/7/13 21:20:00 -- 测试情况如下,请狐爸老师帮助看看,问题在哪里?谢谢!!
![]() ![]() |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/7/13 21:32:00 -- 你前面的代码:
Dim Parts() As String = e.Form.Text.Split("-"c)
当用户名为01-1的时候,OldUserName = 1,使得你合成的语句的条件为:
Where [Name] = ‘1’
可是表中只有名为01-1的用户,并没有名为1的用户,所以出错是必然的。 |
||||
-- 作者:yyzlxc -- 发布时间:2011/7/13 21:38:00 -- 谢谢狐爸老师的分析。那么下一步我该怎么修改呢?请狐爸老师指教。谢谢!! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/7/13 22:00:00 -- 我不明白你为什么要这么写:
Dim Parts() As String = e.Form.Text.Split("-"c)
|
||||
-- 作者:yyzlxc -- 发布时间:2011/7/13 22:25:00 -- 谢谢狐爸老师,问题解决了,十分感谢狐爸老师的热情帮助,再次谢谢!! |