【C#】登陆次数限制
我们在网上登陆的时候有些网站在用户多次输错密码之后会自动把账户冻结,不能在进行登陆,笔者这次做的winform程序就是要实现这种功能。
功能一:根据数据库字段判断用户名和密码是否匹配;
功能二:如果输入错误自动记录连续错误次数;
功能三:如果用户登陆成功之后会自动清除错误次数,使用户仍然可以连续登陆3次;
首先在winform窗体上拖入两个label和textbox,textbox分别命名为txbUserName,txbPassWord;然后在拖入一个button按钮;双击button按钮写按钮事件,代码如下:
1 private void button1_Click(object sender, EventArgs e) 2 { 3 using (SqlConnection con = new SqlConnection("server=.; database=text; integrated security=SSPI;")) 4 { 5 using (SqlCommand com = new SqlCommand()) 6 { 7 com.CommandText = "select * from T_Users where UserName=@username"; 8 com.Connection = con; 9 con.Open(); 10 com.Parameters.Add(new SqlParameter("username", txbUserName.Text)); 11 //com.Parameters.Add(new SqlParameter("password", textBox2.Text)); 12 using (SqlDataReader read = com.ExecuteReader()) 13 { 14 if (read.Read()) 15 { 16 int errortimes = read.GetInt32(read.GetOrdinal("ErrorTimes")); //读取错误登陆次数 17 if (errortimes >= 3) //判断错误次数是否大于等于三 18 { 19 MessageBox.Show("sorry 你已经不能再登陆了!"); 20 } 21 else 22 { 23 string passwored = read.GetString(read.GetOrdinal("PassWord")); 24 if (passwored == txbPassWord.Text) 25 { 26 MessageBox.Show("登陆成功!"); 27 this.qingling(); //登陆成功把错误登陆次数清零 28 } 29 else 30 { 31 MessageBox.Show("登陆失败!"); 32 this.leiji(); //登陆失败把错误登陆次数加一 33 } 34 } 35 } 36 } 37 } 38 } 39 }
1 public void leiji() 2 { 3 using (SqlConnection con = new SqlConnection("server=.; database=text; integrated security=SSPI;")) 4 { 5 using (SqlCommand com = new SqlCommand()) 6 { 7 com.Connection = con; 8 com.CommandText = "update T_Users set ErrorTimes=ErrorTimes+1 where UserName=@username"; 9 com.Parameters.Add(new SqlParameter("username", txbUserName.Text)); 10 con.Open(); 11 com.ExecuteNonQuery(); 12 } 13 } 14 }
1 public void qingling() 2 { 3 using (SqlConnection con = new SqlConnection("server=.; database=text; integrated security=SSPI;")) 4 { 5 using (SqlCommand com = new SqlCommand()) 6 { 7 com.Connection = con; 8 com.CommandText = "update T_Users set ErrorTimes=0 where UserName=@username"; 9 com.Parameters.Add(new SqlParameter("username", txbUserName.Text)); 10 con.Open(); 11 com.ExecuteNonQuery(); 12 } 13 } 14 }
在button事件的代码中笔者使用了using 关于using的用法与好处在【C#】using用法中已经写过。
转载于:https://www.cnblogs.com/ngnetboy/archive/2012/05/26/2519269.html
【C#】登陆次数限制相关推荐
- java 错误登陆次数_纯java代码实现登陆次数验证,登陆错误5次之后锁定30分钟
本方法因为是根据思路纯手写,代码可以再简化,功能尝试没问题,最主要就是在登陆验证中的逻辑,checkLogin()方法是登录前的验证,而真正的登陆方式采用的是Shiro,若不是采用Shiro登陆,将该 ...
- 利用HttpSession记录用户的登陆次数
场景:目前有两种登录方式,首先是人脸认证登录,如果累计认证失败三次,那么就将页面转发到用户名.密码登录的方式,所以这里就需要对当前用户登录失败的次数做统计,因为利用数据库再去存储这些信息很麻烦,要修改 ...
- 帝国empirecms后台登陆次数限制修改
打开文件:\e\config\config.php, 找到 'loginnum'=>5, 把5改为自己想要的数字即可 转载于:https://www.cnblogs.com/bubuchu/p/ ...
- oracle密码登陆次数限制,oracle永久密码和登陆次数无限制设置
http://www.cnblogs.com/tippoint/archive/2013/03/08/2950126.html 修改oracle用户密码永不过期: 1.查看用户的proifle是哪个, ...
- php错误密码也能登陆账号,php用户登陆代码(限制用户错误登录次数)(1/2
php用户登陆代码(限制用户错误登录次数)(1/2)php用户登陆代码(限制用户错误登录次数) php教程用户登陆代码(限制用户错误登录次数) session_start(); include(&qu ...
- linux用户解锁pam_tally,Linux使用PAM锁定多次登陆失败的用户(含重置错误次数)...
修改如下文件: /etc/pam.d/sshd (远程ssh) /etc/pam.d/login (终端) 在第一行下即#%PAM-1.0的下面添加: auth required ...
- 若登陆账号错误次数过多则限制登陆一定时长(自定义时长)
前提须知:登陆拦截器 此演示:登陆5次错误 则限制登陆时长5秒 业务层实现方法 在控制器中使用此方法,若判断用户账户和密码是否正确则返回用户对象 定义session中的key为'count' 定义一个 ...
- QML与C++交互:登陆界面设计
环境: 主机:WIN7 开发环境:Qt5.2.1 说明: QML设计前台界面,C++后台负责逻辑 效果图: 源代码: 前台qml文件 login.qml [javascript] view plain ...
- “烟花”来势汹汹!用数据可视化告诉你:台风最爱在哪登陆?
台风"烟花"在今天9点前后在浙江二次登陆,强度为强热带风暴级,中心附近最大风力有10级(28米/秒),浙江.上海.江苏等华东地区或将遭遇风.雨.潮齐袭. 台风预测所到之处的城市,纷 ...
最新文章
- Go 指针 unsafe.Pointer
- wxWidgets:wxAny类用法
- 记录关于vs2008 和vs2015 的报错问题
- 水滴石穿C语言之编译器引出的问题
- python代码技巧_几个小技巧让你的Python代码更Pythonic
- 随想录(redis的学习和使用)
- Ext JS的模块化开发(Package)
- 25个恶意JavaScript 库通过NPM官方包仓库分发
- FMEA失效模式和影响分析中措施优先级AP值的方法
- html简单页面实验报告原理,html网页设计实验报告
- Visual Studio2022 离线安装包下载
- 如何同步企业微信的标签?
- lisp 阿基米德螺旋_用Auto CAD怎样画椭圆螺旋
- 如何更改QQ截图的快捷键
- 哺乳期这几种还真的要少吃,不能吃的食物真有那么多?
- python字符串查找位置_python中怎么返回指定查找字符的位置
- 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——2.7 高阶组件...
- IntelliJ IDEA 之 配置JDK 的 4种方式
- 肾有多好人就有多年青――男女通用
- winform如何修改exe文件的图标