我做一个密码修改模块(毕业设计)
如何在数据库中将原来的用户名和密码替换为新的用户名密码???
希望高手把代码写出来!!!
我是用vs2005 c# 做毕业设计!!!
[解决办法]
- C# code
namespace Pmis.Web
{
using System;
using System.Text;
using System.Data;
using System.Web.UI;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
using System.Security.Cryptography;
public class ChgPwd : Page
{
public TextBox tbxPwd1;
public TextBox tbxPwd2;
public TextBox tbxPwd3;
public Label lblA1;
public void Page_Load()
{
if (Session["LoginOK"] == null || (bool)Session["LoginOK"] != true)
{
Response.Redirect("login.aspx");
}
}
public void SubmitBtn_Click(Object Sender, EventArgs e)
{
if (tbxPwd1.Text.Length == 0 || tbxPwd2.Text.Length == 0 || tbxPwd3.Text.Length == 0
|| tbxPwd2.Text != tbxPwd3.Text)
{
lblA1.Text = "输入不正确";
return;
}
if (tbxPwd1.Text == tbxPwd2.Text)
{
lblA1.Text = "新密码不得与旧密码相同";
return;
}
string sql = "update [staff] set [pwd]=@pwd2,[mustchangepwd]=0 where [coid]=@coid and [pwd]=@pwd1";
SqlParameter para1 = new SqlParameter("@coid", SqlDbType.Int);
para1.Value = (int)Session["StaffCoid"];
SqlParameter para2 = new SqlParameter("@pwd1", SqlDbType.Binary);
para2.Value = (new MD5CryptoServiceProvider()).ComputeHash(Encoding.UTF8.GetBytes(tbxPwd1.Text));
SqlParameter para3 = new SqlParameter("@pwd2", SqlDbType.Binary);
para3.Value = (new MD5CryptoServiceProvider()).ComputeHash(Encoding.UTF8.GetBytes(tbxPwd2.Text));
int n = (new SqlQuery()).ExecNonQuery(sql, para1, para2, para3);
lblA1.Text = (n > 0) ? "密码修改成功" : "密码修改失败,可能是输入的旧密码不正确";
}
}
}
[解决办法]
楼主的第一个按钮怎么还验证“用户民”?哈哈
ADO.net最基本的东西啊~希望去网上查锻炼自己的动手能力
[解决办法]
string cmdStr = "update adminTable set uID='"+newUpwd+"',"+"uPwd='"+newUpwd +"' Where UserID="+主键的id;
1 按你可以修改用户名和密码的话 那个表至少要有3个字段 Uid UserName UserPwd
是Update 不是Updata
然后Update adminTable Set UserName=@UserName,UserPwd=@UserPwd Where Uid = @Uid
[解决办法]
验证新密码那个按钮不知道在干嘛的 如果是要验证两次密码输入是否不一致 以及 那3个框是否为空都可以用验证控件
[解决办法]
...update写错了...
不是updata...是update...