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                     }
  • 相关阅读:
    样条之CatmullRom
    分形之树(Tree)
    B样条
    样条之贝塞尔(Bezier)
    插值与样条
    windows 下的Python虚拟环境(vitrualen)pycharm创建Django项目
    VS2010专业版和旗舰版(中文版)下载
    PHP课程环境安装总结文档
    原码、反码、补码知识详细讲解(此作者是我找到的讲的最细最明白的一个)
    C语言中size_t类型详细说明【转载】
  • 原文地址:https://www.cnblogs.com/muran/p/3173675.html
Copyright © 2011-2022 走看看