ASP.NET初学新手请教一个问题
我是初学者,在做一个小系统的时候,碰到一个问题:用户修改密码时,需要输入旧密码,只有旧密码对了才能修改新的密码,但问题是无论输入什么旧密码都能验证通过,
我检查过代码貌似没发现哪错了,请大神能指点迷津,谢谢!
以下代码为DB类中的一个方法UserPassChange(),供其他页面调用
程序代码:
//用户更改密码 public int UserPassChange(string userno,string oldpwd,string newpwd) { SqlConnection conn = Getcon(); // 数据库调用没有问题 conn.Open(); string sqlstr1 = "select * from UserInfo where UserNo='"+userno+"' and UserPwd='"+oldpwd+"'"; string sqlstr = "update UserInfo set UserPwd='"+newpwd+"' where UserNo='"+userno+"'"; SqlCommand cmd1 = new SqlCommand(sqlstr1,conn); SqlCommand cmd = new SqlCommand(sqlstr,conn); if (cmd1.ExecuteNonQuery() != 0) { int i; if (cmd.ExecuteNonQuery() != 0) { i=1; //密码修改成功 } else { i= -1; //密码修改失败 } return i; } else { return 0; // 旧密码不正确,不能修改密码 } }
以下代码为实际调用
程序代码:
protected void Button1_Click(object sender, EventArgs e) { string oldpwd = txt_oldpwd.Text; string newpwd = txt_newpwd.Text; DB db= new DB(); switch (db.UserPassChange(userno,oldpwd,newpwd)) { case 0: Response.Write("<script>alert('旧密码不正确,请重新输入');</script>"); break; case 1: Response.Write("<script>alert('密码修改成功');</script>"); break; case -1: Response.Write("<script>alert('密码修改失败');</script>"); break; } }