.net 做的修改密码

Python014

.net 做的修改密码,第1张

你肯定还是错在于登陆那了,不知道你用的是什么数据库,如果你sql2005的话你要检查你不是允许sql用户登录了,如果还不行,你就用系统集成认证登陆一下看看能不能链接上,如果可以就非常肯定的说你的sql用户名和密码对不上了,这样说明白了吧

//加密字符串

private String EncryptString(String pwd)

{

String sResult=""

//方法体略

return sResult

}

//验证用户

private bool CheckUser(String UserName,String Pwd)

{

String sql="select password from users where UserName=@UserName"

using(SqlDataAdapter da=new SqlDataAdapter(sql,new SqlConnection(sConnectionString)))

{

da.SelectCommand.Parameters.AddWithValue("@UserName",UserName)

DataTable dt=new DataTable()

da.Fill(dt)

if(dt!=null&&dt.Rows.Count>0)

{

//如果存放在数据库里面的密码是已经加密过的,则建议

String sInputPwd=this.EncryptString(Pwd)//用户输入的密码,加密后的结果,用于与数据库里面的密码做比较

String sPwd=dt.Rows[0]["password"].ToString()

if(sInputPwd.Equal(sPwd))

{

return true

}

return false

}

return false

}

}

//修改密码

private void AlterPwd(String UserName,String OPwd,String nPwd)

{

if(this.CheckUser(UserName,OPwd))//通过用户验证后,才可以修改密码

{

String sql="update users set password=@Password where UserName=@UserName"

SqlConnection cn=new SqlConnection(sConnectionString)

SqlCommand cmd=new SqlCommand(sql,cn)

cmd.Parameters.AddWithValue("@Password",nPwd)

cmd.Parameters.AddWithValue("@UserName",UserName)

if(cn.Status==ConnectionStatus.Opened)

{

cn.Open()

}

try{cmd.ExecuteNonQuery()}

catch//(Exception err)

{

}

finally{

if(cn.Status==ConnectionStatus.Closed)

{

cn.Close()

}

}

}

}

//说明

sConnectionString 数据库连接串,请自行处理

2.代码中的关键字,可能有些出入,因为是在记事本上面写的,请自行调整