版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的
图99A-34密码修改窗口设计
密码修改时,为防止不是本人操作,应对旧密码进行验证。验证成功后,用MD5加密新密码后保存。
全部代码如下:
OleDbConnection connection;
public static void ShowForm()
{
FormPass frm = new FormPass();
frm.ShowDialog();
}
private void FormPass_Load(object sender, EventArgs e)
{
connection = new OleDbConnection(classMod.databaseConnString);
//打开数据连接
connection.Open();
txtName.Text = classMod.loginName;
}
private void btnOk_Click(object sender, EventArgs e)
{
string passOld = txtPassOld.Text.Trim();
string passNew = txtPassNew.Text.Trim();
if (passNew.Length < 6)
{
MessageBox.Show("密码长度至少应为6位");
return ;
}
string passOldMd5 = ClassMd5.toMD5(passOld);
string passNewMd5 = ClassMd5.toMD5(passNew);
//新建OleDbCommand对象实例
OleDbCommand command = new OleDbCommand();
//=========填充用户列表==================
//要执行的SQL查询
command.CommandText = "select 密码 from 操作员 where id=" + classMod.loginId;
//设置OleDbCommand的数据连接为OleDbConnection
command.Connection = connection;
OleDbDataReader odReader;
string pass;
odReader = command.ExecuteReader(CommandBehavior.SingleResult);
odReader.Read();
pass = odReader.GetValue(0).ToString();
odReader.Close();
if (pass != passOldMd5)
{
MessageBox.Show("原密码不正确,取消操作");
return;
}
command.CommandText = "update 操作员 set 密码='" + passNewMd5 + "' where id=" + classMod.loginId;
command.ExecuteNonQuery();
MessageBox.Show("修改密码成功!");
}
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
private void FormPass_FormClosing(object sender, FormClosingEventArgs e)
{
connection.Close();
}
学习更多vb.net知识,请参看vb.net 教程 目录
学习更多C#知识,请参看C#教程 目录