zoukankan      html  css  js  c++  java
  • 写一个简单的登录客户端步骤

    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;
            }


             

  • 相关阅读:
    犯错记录(一)
    BullseyeCoverage:代码覆盖率。
    测试工具:insure++
    C++ 常见容器
    linux修改rm指令执行(数据安全)
    C++细节系列(零):零散记录
    vim中使用gdb。
    vim自动补全文章搜集
    排序算法的个人心得体会。
    面向对象的三个特征。
  • 原文地址:https://www.cnblogs.com/tuibian/p/3355690.html
Copyright © 2011-2022 走看看