登录锁定一段时间

namespace 登录锁定
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if(IsLock(txtName.Text))//判断锁定没
            {
                MessageBox.Show("锁了");
            }
            else
            {
                 ClearLoginName(txtName.Text);//清了
                if (IsOk(txtName.Text,txtPwd.Text))
                {
                   
                    //登录成功了
                    MessageBox.Show("成功了");
                }
                else
                {
                    MessageBox.Show("登录失败了");
                    LockedLoginName(txtName.Text);
                }
            }
        }

        private void LockedLoginName(string p)
        {
            string sql = "update Users SET ErrorCount=ErrorCount+1 ,LastLoginTime=getdate() WHERE loginId=@name";
            SqlHelper.ExecuteNonQuery(sql,new SqlParameter("@name",p));
        }

        private bool IsOk(string p, string p_2)
        {
            string sql = "select count(*) from Users where loginId=@name AND loginPwd=@pwd";
            return Convert.ToInt32(SqlHelper.ExecuteScalar(sql, new SqlParameter("@name", p), new SqlParameter("@pwd", p_2))) > 0 ? true : false;
           
        }

        private void ClearLoginName(string p)
        {
            string sql = "UPDATE Users SET ErrorCount=0 ,LastLoginTime=getdate() WHERE loginId=@name and ErrorCount>=3";
           int n= SqlHelper.ExecuteNonQuery(sql,new SqlParameter("@name",p));
           
        }

        private bool IsLock(string p)
        {
            string sql = "select count(*)from Users where loginId=@name AND ErrorCount>=3 AND datediff(minute,LastLoginTime,getdate())<=15";
           object obj= SqlHelper.ExecuteScalar(sql,new SqlParameter("@name",p));
           return Convert.ToInt32(obj) > 0 ? true : false;
           
        }
    }
}

  

原文地址:https://www.cnblogs.com/wangweiabcd/p/4058432.html