zoukankan      html  css  js  c++  java
  • C#简单验证并限制登录次数小示例

    描述:提示用户输入用户名,密码,与数据库中的数据匹配,如果正确则提示登陆成功,否则,提示登陆失败 错误次数超过三次,提示登陆次数过多,禁止登陆

    数据表示例:

     1 //数据库中ErrorTimes的次数增加1
     2 public void incError()
     3         {
     4             using (SqlConnection conn = new SqlConnection(@"Data Source=.SQLEXPRESS;AttachDBFilename=|DataDirectory|Database1.mdf;Integrated Security=True;User Instance=True"))
     5             {
     6                 conn.Open();
     7                 SqlCommand cmd1 = conn.CreateCommand();
     8                 cmd1.CommandText = "update T_Users set ErrorTimes=ErrorTimes+1 where UserName=@UN";
     9                 cmd1.Parameters.Add(new SqlParameter("UN", txtUsername.Text));
    10                 cmd1.ExecuteNonQuery();
    11                  
    12             }
    13         }
    14 //重置数据库中ErrorTimes的次数为0
    15         public void clsError()
    16         {
    17             using (SqlConnection conn = new SqlConnection(@"Data Source=.SQLEXPRESS;AttachDBFilename=|DataDirectory|Database1.mdf;Integrated Security=True;User Instance=True"))
    18             {
    19                 conn.Open();
    20                 SqlCommand cmd1 = conn.CreateCommand();
    21                 cmd1.CommandText = "update T_Users set ErrorTimes=0 where UserName=@UN";
    22                 cmd1.Parameters.Add(new SqlParameter("UN", txtUsername.Text));
    23                 cmd1.ExecuteNonQuery();
    24  
    25             }
    26  
    27        private void button1_Click(object sender, EventArgs e)
    28         {
    29             //提示用户输入用户名,密码,与数据库中的数据匹配,如果正确则提示登陆成功,否则,提示登陆失败
    30             ///错误次数超过三次,提示登陆次数过多,禁止登陆。
    31             using (SqlConnection conn = new SqlConnection(@"Data Source=.SQLEXPRESS;AttachDBFilename=|DataDirectory|Database1.mdf;Integrated Security=True;User Instance=True"))
    32             {
    33                 conn.Open();
    34                 SqlCommand cmd = conn.CreateCommand();
    35                 cmd.CommandText = "select * from T_Users where UserName=@UN";
    36                 cmd.Parameters.Add(new SqlParameter("UN", txtUsername.Text));
    37                 using (SqlDataReader reader = cmd.ExecuteReader())
    38                 {
    39                     if (reader.Read())
    40                     {
    41                         int errortimes = reader.GetInt32(reader.GetOrdinal("ErrorTimes"));
    42                         if (errortimes > 3)
    43                         {
    44                             MessageBox.Show("错误次数过多,禁止登陆");
    45                         }
    46                         string dbpassword = reader.GetString(reader.GetOrdinal("PassWord"));
    47                         if (dbpassword == txtPassword.Text)
    48                         {
    49                             MessageBox.Show("登陆成功");
    50                             clsError();
    51                         }
    52                         else
    53                         {
    54                             incError();
    55                             MessageBox.Show("登陆失败");
    56                             
    57                         }
    58                     }
    59                     else
    60                     {
    61                         MessageBox.Show("用户名不存在");
    62                     }
  • 相关阅读:
    JVM深入理解(四)-内存模型【上】
    JVM深入理解(三)-加载与字节码执行
    JVM深入理解(二)-结构与内存管理
    初级正则表达式
    光弧,高亮
    substr,subString,split,slice,replace的区别
    SpringBoot配置SSLUnable to start ServletWebServerApplicationContext due to multiple ServletWebServerFa
    79:Python开发-sqlmapapi&Tamper&Pocsuite
    76:Python开发-内外网收集Socket&子域名&DNS
    77:Python开发-批量Fofa&POC验证&SRC提取
  • 原文地址:https://www.cnblogs.com/muran/p/3173675.html
Copyright © 2011-2022 走看看