黑马程序员_Windows窗体应用程序中登录多次后禁止登录

来源:互联网 发布:网络直播公司招聘 编辑:程序博客网 时间:2024/06/14 22:31
private void IncErrorTimes()  //累加错误次数        {            using (SqlConnection conn = new SqlConnection(@"Data Source=.\Express;AttachDBFilename=|DataDirectory|\MyDB.mdf;Integrated Security=true;User Instance=false"))            {                conn.Open();                using (SqlCommand updateCmd = conn.CreateCommand())                {                    updateCmd.CommandText = "update T_Users Set ErrorTimes=ErrorTimes+1 where UserName=@UserName";  //更新错误次数加1                    updateCmd.Parameters.Add(new SqlParameter("UserName", txtUserName.Text));                    updateCmd.ExecuteNonQuery();                }            }        }                private void ResetErrorTimes()  //重置错误次数        {            using (SqlConnection conn = new SqlConnection(@"Data Source=.\Express;AttachDBFilename=|DataDirectory|\MyDB.mdf;Integrated Security=true;User Instance=false"))            {                conn.Open();                using (SqlCommand updateCmd = conn.CreateCommand())                {                    updateCmd.CommandText = "update T_Users Set ErrorTimes=0 where UserName=@UserName";//重置错误次数为0                    updateCmd.Parameters.Add(new SqlParameter("UserName", txtUserName.Text));                    updateCmd.ExecuteNonQuery();                }            }        }        private void button1_Click(object sender, EventArgs e)        {            using (SqlConnection conn = new SqlConnection(@"Data Source=.\Express;AttachDBFilename=|DataDirectory|\MyDB.mdf;Integrated Security=true;User Instance=false"))            {                conn.Open();                using (SqlCommand cmd = conn.CreateCommand())                {                    cmd.CommandText = "select * from T_Users where UserName=@UN";                    cmd.Parameters.Add(new SqlParameter("UN", txtUserName.Text));                    using (SqlDataReader reader = cmd.ExecuteReader())                    {                        if (reader.Read())                        {                            int errorTimes = reader.GetInt32(reader.GetOrdinal("ErrorTimes"));                            if (errorTimes > 3)  //超过三次禁止登录                            {                                MessageBox.Show("登录次数过多,禁止登录");                                return;                            }                            string dbPassword = reader.GetString(reader.GetOrdinal("Password"));                            if (dbPassword == txtPassword.Text)                            {                                MessageBox.Show("登录成功 ");                                ResetErrorTimes();  //登录成功后要重置错误次数                            }                            else                            {                                IncErrorTimes();  //累加错误次数                                MessageBox.Show("登录失败");                            }                        }                        else                        {                            MessageBox.Show("用户名不存在");                        }                    }                }            }        }