哈喽,你好啊,我是雷工!
本节主要记录实现修改管理员登录密码的后端逻辑及相关功能,以下为学习笔记。
01 实现逻辑
①:首先输入原密码,验证,验证通过然后可以输入新密码进行修改;
②:新密码修改为了避免输入失误导致输入的密码与自己以为修改的密码不符的情况,增加了新密码确认;
③:当新密码确认通过,点击【保存修改】密码,将新密码记录到数据库;
④:点击【取消修改】,则退出修改密码界面;
02 效果演示
修改前Author表内信息如下:
①:原密码错误
账号:leigong001;原密码:admin@123;当输入原密码为admin@12时:
②:密码不一致
当输入的原密码正确,但新密码与确认密码不一致时
③:密码修改成功
当原密码正确,两次密码一致,修改成功时:
查询数据库,修改成功后如下:
03 实现步骤
3.1、数据访问层
在数据访问层的AuthorServer.cs中添加如下方法
代码如下:
/// <summary>
/// 修改登录密码
/// </summary>
/// <param name="author"></param>
/// <returns></returns>
public int ModifyPwd(Author author)
{
string sql = "update Author set LoginPwd=@LoginPwd where AuthorId=@AuthorId";
SqlParameter[] param = new SqlParameter[]
{
new SqlParameter("@LoginPwd",author.LoginPwd),
new SqlParameter("@AuthorId",author.AuthorId)
};
return SQLHelper.Update(sql, param);
}
3.2、业务逻辑层
在业务逻辑层的AuthorManager.cs类中添加传递方法
代码如下:
public int ModifyPwd(Author author)
{
return authorService.ModifyPwd(author);
}
3.3、UI界面层
实现思路:
①:添加命名空间、简单数据验证(非空,是否含特殊字符等);
②:判断原密码是否正确;
③:确认两次输入的密码是否一致;
④:封装对象;
⑤:调用后台修改密码到数据库;
⑥:修改成功关闭当前子窗体;
代码如下:
//保存新密码到数据库
private void btnSave_Click(object sender, EventArgs e)
{
//①:数据验证:非空验证,密码长度验证;
//②:判断原密码是否正确
if(!Program.currentAuthor.LoginPwd.Equals(this.txtOriginalPwd.Text.Trim()))
{
MessageBox.Show("输入的原密码不正确!", "雷工提示");
this.txtOriginalPwd.SelectAll();
this.txtOriginalPwd.Focus();
return;
}
//③:确认两次输入密码是否一致;
if(!this.txtNewPwd.Text.Trim().Equals(this.txtConfirmPwd.Text.Trim()))
{
MessageBox.Show("两次输入的密码不一致!", "雷工提示");
return;
}
//④:封装对象
Author author = new Author
{
AuthorId = Program.currentAuthor.AuthorId,
LoginPwd = this.txtNewPwd.Text.Trim()
};
//⑤:调用后台修改数据库密码
int result = new AuthorManager().ModifyPwd(author);
if(result==1)
{
Program.currentAuthor.LoginPwd = this.txtNewPwd.Text.Trim();
MessageBox.Show("已完成密码修改!", "雷工提示");
}
//其他情况通常是存在异常,可以添加异常,直接捕获。
this.Close();
}
04 后记
以上为修改当前登录账号密码的方法记录,思路比较有通用性,可以借鉴应用到项目中。
有喜欢我的分享的可以点亮在看,点个赞+ 关注,我会继续努力带来精彩分享。
本文暂时没有评论,来添加一个吧(●'◡'●)