2018-12-03

任务2.6 密码修改功能设计

2.6.1 主要功能

登陆用户后,点击修改密码弹出,修改密码的框体;输入点确定,提示输入新密码;输入新密码,不点确认密码,提示请输入确认密码;两次密码输入不同时,提示两次密码不一致。

2.6.2 效果图

修改密码.gif

2.6.3数据库表结构

数据库表结构.PNG

2.6.4 ADO.NET更新数据库流程

更新数据库.PNG

2.6.5 关键程序代码

          String userName = this.tb_User.Text.Trim();
          String newPwd = this.tb_NewPwd.Text.Trim();
          String confPwd = this.tb_ConfirmPwd.Text.Trim();

          // 验证输入信息
          if (newPwd.Equals(""))
          {
              MessageBox.Show("请输入新密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
              return;
          }
          else if (confPwd.Equals(""))
          {
              MessageBox.Show("请输入确认密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
              return;
          }
          else if (newPwd != confPwd)
          {
              MessageBox.Show("两次密码不一致", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
              return;
          }

          // 连接字符串,注意与实际环境保持一致
          String connStr = "Data Source=.;Initial Catalog=SuperMarketSales;Integrated Security=True";
          SqlConnection sqlConn = new SqlConnection(connStr);
          try
          {
              // 连接数据库
              sqlConn.Open();

              // 构造命令
              String sqlStr = "update EMPLOYEE set PASSWORD=@pwd where ID=@id";
              SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);

              // SQL字符串参数赋值
              cmd.Parameters.Add(new SqlParameter("@pwd", newPwd));
              cmd.Parameters.Add(new SqlParameter("@id", UserInfo.userId));

              // 将命令发送给数据库
              int res = cmd.ExecuteNonQuery();

              // 根据返回值判断是否修改成功
              if (res != 0)
              {
                  MessageBox.Show("密码修改成功");
                  this.Close();
              }
              else
              {
                  MessageBox.Show("密码修改错误");
              }
          }
          catch (Exception exp)
          {
              MessageBox.Show("访问数据库错误:" + exp.ToString());
          }
          finally
          {
              sqlConn.Close();
          }
      }

你可能感兴趣的:(2018-12-03)