c#用户登陆方法数据库

c#用户登陆方法数据库

        /// <summary>
        /// 用户登陆
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnLogin_Click(object sender, EventArgs e)
        {
            string userName = txtUserName.Text.Trim();
            string userPwd  = txtPasswd.Text.Trim();

            //  if ((txtUserName.Text != "") && (txtPasswd.Text != ""))

           if(!(string.IsNullOrEmpty(userName)) && !(string.IsNullOrEmpty(userPwd)))
            {
                string SqlText = "SELECT * FROM UserInfo Where UserName=@UserName and nCount >= @nCount";
                SqlParameter[] param = {
                        new SqlParameter("@UserName", SqlDbType.VarChar, 50) { Value = userName },
                        new SqlParameter("@nCount", SqlDbType.Int, 4) { Value = 5 },
                       };

                int r = SqlHelper.ExecuteScalar(SqlText, param);
                if (r > 0)
                {
                    lbMsg.ForeColor = Color.Red;
                    lbMsg.Text = "对不起,您的帐号已锁定!";
                    return;
                }
            }

            if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(userPwd))
            {
                lbMsg.Text = "用户名或密码不能为空!";                
            }
            else
            {
                string SqlText = "SELECT *  FROM UserInfo Where UserName =@UserName And UserPwd=@UserPwd";
                SqlParameter[] param = {
                        new SqlParameter("@UserName", SqlDbType.VarChar, 50) { Value = userName },
                        new SqlParameter("@userPwd", SqlDbType.VarChar, 50) { Value = DEncrypt.GetMd5Str  (userPwd,this.passwordKey) },
                       };

                int r = SqlHelper.ExecuteScalar(SqlText, param);
                if (r > 0)
                {
                    //记录登陆成功时间;
                    string sqlText = "Update UserInfo SET lastLoginTime = GETDATE(),nCount=@nCount Where UserName =@UserName";
                    SqlParameter[] para = new SqlParameter[] {
                        new SqlParameter("@UserName",SqlDbType.VarChar,50){Value=userName},
                        new SqlParameter("@nCount",SqlDbType.Int,2){Value=0},
                    };
                    SqlHelper.ExecuteNonQuery(sqlText, para);
                    lbMsg.ForeColor = Color.Blue;
                    lbMsg.Text = "登陆成功!";
                    this.IsLogin = true;
                    this.DialogResult = DialogResult.OK;
                }
                else
                {
                    nCount++;
                    ////记录登陆失败时间,错误次数;
                    string sqlText = "Update UserInfo SET LastErrorDateTime= GETDATE(),nCount=@nCount Where UserName =@UserName";

                    SqlParameter[] para = new SqlParameter[] {
                        new SqlParameter("@UserName",SqlDbType.VarChar,50){Value=userName},
                        new SqlParameter("@nCount",SqlDbType.Int,2){Value=nCount},
                    };

                    SqlHelper.ExecuteNonQuery(sqlText, para);

                    lbMsg.ForeColor = Color.Red;
                    lbMsg.Text = "用户名或密码不正确!";
                }
            }

        }

  

posted @ 2020-11-27 13:41  Nanyingming  阅读(310)  评论(0编辑  收藏  举报