【机房重构】之修改密码

来源:互联网 发布:俄罗斯军粮淘宝 编辑:程序博客网 时间:2024/05/22 03:02

【前言】

进行机房重构,七层的架构,可以说是都是套路,当然有大框架在这,里面的小细节也需要自己补充呢,在这其中逻辑思路是很重要很重要的,刚开始进行时,每个功能咋传值,什么逻辑,我完全是晕晕的状态,想到这一点,丢掉那个,也是“服”了自己了。后面通过跟周边的小巨人们请教,终于自己有点开窍了呢。对于一个功能,首先分析客户需求,也就是在U层,我们想要像用户展示什么功能,达到什么效果。然后就是D层,想要在数据库中获得什么,每次用专业的数据库语句增、删、改 查”去思考,这时候可以多借助纸笔呢,写下来,然后再将其编程sql语句,D层的工作也就结束了。再就是B层根据一些条件,进行逻辑判断。其他层的代码也就迎刃而解了。

按照上面这种思路,去进行修改密码这个窗体。首先用户需要判断旧密码是否正确,然后就是两次新密码是否一致,最后就是对新密码的修改成功。慢慢的感觉自己有了小小的进步,理清楚一些逻辑,代码就洒洒水了!(虽然有的不熟悉代码还需要查询,嘿嘿!)当然理论与实践结合才是最重要的嘛,下面看一下我的伟大工程吧!

U层

  private void btnOK_Click(object sender, EventArgs e)        {                       //对于输入框进行常规的判断            if (txtOldPassword.Text=="")            {                MessageBox.Show("请输入旧密码!");            }            if (txtNewPassword.Text=="")            {                    MessageBox.Show("请输入新密码!");             }            if (txtOKNewPassword.Text == "")            {                MessageBox.Show("请确定新密码!");            }                        //实例化各层的类            LoginEntity.UserInfo user = new LoginEntity.UserInfo();            user.PWD = txtOldPassword.Text.ToString();            user.newPwd1 = txtNewPassword.Text;            user.newPwd2 = txtOKNewPassword.Text;            user.userID = Form1.LoginTxtUserID;                        Facade.ModifypwdFacade facade = new Facade.ModifypwdFacade();            bool flag = facade.checkpwd(user);            if (flag==false)            {                MessageBox.Show("旧密码输入错误,请重新输入!");                txtOldPassword.Focus();                txtOldPassword.Clear();            }            else            {                if (txtNewPassword.Text !=txtOKNewPassword.Text)                {                    MessageBox.Show("两次输入密码不相同,请重新输入!");                    txtOKNewPassword.Clear();                    txtNewPassword.Clear();                    txtNewPassword.Focus();                }                else                {                    user.PWD = txtNewPassword.Text;                    bool result = facade.updatePWD(user);                    if (result==true)                    {                        MessageBox.Show("密码修改成功!");                        txtNewPassword.Clear();                        txtOKNewPassword.Clear();                        txtOldPassword.Clear();                    }                    else                    {                        MessageBox.Show("密码修改失败!");                    }                


B层

 public  class ModifypwdBLL    {      public bool checkpwd(UserInfo pwd) //判断旧密码是否正确      {                       Factory.ModifypwdFactory fac = new Factory.ModifypwdFactory();          IDAL.IModifyPWD idal = fac.checkpwd();          DataTable table= idal.checkpwd( pwd);          string dt = table.Rows[0]["PWD"].ToString();                    // bool flag;                  if (pwd.PWD ==dt.Trim() )          {              return true;          }          else          {              return false;          }            }      public bool updatePWD(UserInfo userinfo)   //修改密码      {          Factory.ModifypwdFactory factory = new Factory.ModifypwdFactory();          IDAL.IModifyPWD dt = factory.updatePWD();          int  ds = dt.updatePWD(userinfo);                   if (ds !=0)          {              return true;          }          else          {              return false;          }      }  

D层
 public class SqlSeverModifyPWDDAL:IDAL.IModifyPWD    {       public DataTable  checkpwd(UserInfo pwd)       {           SqlParameter[] parameter = { new SqlParameter("@userID",pwd.userID)};           string sql = "select * from User_Info where UserID=@userID";           DataTable table = SQLHelper.SqlHelper.ExecuteDataTable(sql, CommandType.Text, parameter);           return table;              }       public int updatePWD(UserInfo userInfo)       {           SqlParameter[] parameter = { new SqlParameter("@userID",userInfo.userID),                                        new SqlParameter("@PWD",userInfo.PWD)};           string sql = "update User_Info  set PWD=@PWD where UserID=@userID ";           int result = SQLHelper.SqlHelper.AddDelUpdate(sql,CommandType.Text,parameter);           return result;                     }         }

【总结】

老师经常说“思想比技术更重要”,我篡改一下“思路比套路更重要”,嘿嘿!自己的小见解!吐舌头

原创粉丝点击