Winform怎样实现应用程序修改密码?
Winform怎样实现应用程序修改密码?我在Form1中登录,登录成功后转到的主窗体Form2,在Form2中我点击按钮,转到窗体Form3,在Form3里我实现获取登录...
Winform怎样实现应用程序修改密码?我在Form1中登录,登录成功后转到的主窗体Form2,在Form2中我点击按钮,转到窗体Form3,在Form3里我实现获取登录此程序的用户名匹配进行修改,Form3里有textbox1、textbox2、textbox3这几个控件,我用来显示当前的旧密码、新密码还有新密码确认,现在我需要在textbox1、textbox2和textbox3中输入旧密码还有新密码和新密码确认,假如旧密码正确就完成修改,将结果保存至数据库,旧密码错误就清空
注:密码可以修改,可是一修改就全部修改!我要实现当前用户的密码修改 展开
注:密码可以修改,可是一修改就全部修改!我要实现当前用户的密码修改 展开
5个回答
展开全部
你好,依照我对你程序的理解有下面2个建议:
1)对于你描述的修改当前用户功能,在你的form3中只有旧密码,新密码,确认密码,少了用户名username这一关键条件.在你写的数据库操作代码中也进行了提现:
string sqlstr="update 用户表 set Password='"+confirmPwd+"'";
//应该改为
string sqlstr="update 用户表 set Password='"+confirmPwd+"' where username='"+userName+"'";
这是第一点.
2)对于字符串connectionString ="....",请改为connectionString =@"...." 进行转义
更多追问追答
追问
但是这个+username+去哪里找?
追答
这是就是你要再拖出来一个textbox,命名txtUserName,用于让用户输入用户名.然后在你的代码中这样获取: string username = txtUserName.Text.Trim(); 就可以拼接字符串了.
展开全部
update 那句,后面应该加上
+ string.format(" where user = {0}",当前的用户名)
+ string.format(" where user = {0}",当前的用户名)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的sql不对吧,后面加上where user=(你的用户名)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
刚刚他们说的都对,你的SQL语句中没用用Where限制条件,具体怎么操作,他们已经说了。
从中可以看出你是初学ADO.NET,下面给你几点建议:
1、连接字符串最好能学会用配置文件。
2、需要有放注入式攻击的措施,也就是用参数化的方式。(即SqlParameter)
3、具体到你的程序 :你可以把cmd.executenonquery()放到if()语句中进行判断,只有其值大于零的情况下,你的密码才能说是修改成功。
从中可以看出你是初学ADO.NET,下面给你几点建议:
1、连接字符串最好能学会用配置文件。
2、需要有放注入式攻击的措施,也就是用参数化的方式。(即SqlParameter)
3、具体到你的程序 :你可以把cmd.executenonquery()放到if()语句中进行判断,只有其值大于零的情况下,你的密码才能说是修改成功。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database.mbd"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询