1,首先就是先写好配置文件,SqlHelper,CommnoHelper等工具类。
2,做一个注册界面,其实就是插入语句,比方说:insert into T_seats values(@login,@realname,@password)
注意:传进去的值要提前用MD5处理一下
3,做一个登录界面,因为要为修改密码准备,所以就在Sql语句中先只验证登录的用户名正不正确,然后根据查询出的密码与输入的密码比对,验证密码是否正确。登录成功后让修改密码按钮可用
部分代码 :
string sql = "select * from T_seats where loginname=@login";
SqlParameter[] pms = new SqlParameter[] {
new SqlParameter("@login",login)
};
using(SqlDataReader read= SqlHelper.EXcuteReader(sql,CommandType.Text,pms))
{
if (read.HasRows)
{
if(read.Read())
{
string password1 = read.GetString(3);
if (password1 == password)
{
ziduanHelp.id = read.GetInt32(0);
ziduanHelp.realname = read.GetString(2);
button2.Enabled = true;
MessageBox.Show("登录成功!");
}
else
{
MessageBox.Show("密码错误!");
}
}
}
else
{
MessageBox.Show("用户名不存在!");
}
}
4,修改密码:上来先验证两次输入的密码一不一致,如如不一致,就直接提示错误,省的连数据库了。
在登录的时候要不主键id拿到,可以建一个静态类,这样所有窗体就都以共用了。
然后再根据Sql语句判断输入的旧密码与id是否与登录的这个用户名一致,以此判断旧密码是否输入正确。
如果旧密码正确,接下来就可以更新了,为了代码清晰,把更新语句单独写到一个方法里面
修改密码代码如下:
private void btn_Click(object sender, EventArgs e)
{
if (txtPwd1.Text == txtPwd2.Text)
{
String sql = "select count(*) from T_seats where id=@id and password=@password";
SqlParameter[] pms = new SqlParameter[] {
new SqlParameter("@id",ziduanHelp.id),
new SqlParameter("@password",CommonHelp.MD5Encrypt(txtPassword.Text))
};
int r=(int) SqlHelper.ExcuteScalar(sql,CommandType.Text,pms);
if (r > 0)
{
int w = ChacngePassword(ziduanHelp.id,CommonHelp.MD5Encrypt(txtPwd1.Text));
if (w > 0)
{
MessageBox.Show("修改成功!");
}
else
{
MessageBox.Show("修改失败!");
}
}
else
{
MessageBox.Show("输入的旧密码错误!");
}
}
else
{
MessageBox.Show("两次输入的密码不一致!");
}
}
private int ChacngePassword(int p,string p1)
{
String sql = "update T_seats set password=@password where id=@id";
SqlParameter[] pms = new SqlParameter[] {
new SqlParameter("@password",p1),
new SqlParameter("@id",p)
};
return SqlHelper.ExcuteNonQuery(sql,CommandType.Text,pms);
}
private void Form2_Load(object sender, EventArgs e)
{
this.Text = this.Text + "-" + ziduanHelp.realname;
}