登录次数限制实例

业务逻辑

1、根据用户名从数据库中取出一行数据,并根据数据库服务器时间,算出上次限制登录的时间和当前时间的时间间隔。

这里写图片描述

2、判断此用户时间间隔过了15分钟没有。如果没有,则给出禁止登录的提示;如果超过15分钟,则判断密码是否正确。
3、如果密码正确,提示登录成功并重置错误次数;如果密码不正确,则给出密码错误提示并更新数据库错误次数。并判断是否够3次了。
4、如果够3次的话,就记录错误时间,并清零错误次数。

代码实现

private void btnLogin_Click(object sender, EventArgs e)
{//获取界面的数据string uid = txtUserName.Text.Trim();string pwd = txtPwd.Text.Trim();//判断文本框是否为空if (uid == ""){MessageBox.Show("请输入用户名", "温馨提示");}else if (pwd == ""){MessageBox.Show("请输入密码", "温馨提示");}else{//将数据传到数据库进行检验using (SqlConnection conn = new SqlConnection("server=.;database=Test;uid=sa;pwd=jujianfei")){//根据数据库服务器时间,算出现在隔了多少分钟了SqlCommand cmd = new SqlCommand("select *,DATEDIFF(MINUTE,LastErrTime,GETDATE()) from LoginPractice where UserName=@uid", conn);//声明需要的参数把参数添加到命令对象的几个参数中cmd.Parameters.Add(new SqlParameter("@uid", uid));conn.Open();using (SqlDataReader dr = cmd.ExecuteReader()){if (dr.HasRows){dr.Read();//不管dr取到多少条数据,只取出前面第一行(调用一次read,就会读取一行,也只读一行)if (dr.GetInt32(5)<15) //先判断最后的错误事件,如果过了15分钟,就放过去了{MessageBox.Show("登录锁定时间未到,请稍后重试!");return;}if (dr[2].ToString() == pwd) {MessageBox.Show("登录成功!", "温馨提示");UserInfo.ReSetErrTimes(dr.GetInt32(0)); //登录成功后重置错误次数}else //如果密码不正确{MessageBox.Show("登录失败,密码错误!");//更新错误次数,这里是更新的数据库,dr里面的数据是在更新之前就取出来的了UserInfo.UpDateErrTimes(dr.GetInt32(0));if (dr.GetInt32(3)+1 == 3){UserInfo.UpDateLastErrTime(dr.GetInt32(0));    //记录最后错误的时间UserInfo.ReSetErrTimes(dr.GetInt32(0));      //重置错误次数}}}else{MessageBox.Show("用户不存在!", "温馨提示");}}}}
}
class UserInfo
{/// <summary>/// 更新错误次数/// </summary>/// <param name="id"></param>/// <returns></returns>public static int UpDateErrTimes(int id){ using(SqlConnection conn=new SqlConnection("server=.;database=Test;uid=sa;pwd=jujianfei")){using (SqlCommand cmd = new SqlCommand("update LoginPractice set ErrTimes = ErrTimes + 1 where id =" + id, conn)){conn.Open();return cmd.ExecuteNonQuery();}}}/// <summary>/// 错误次数清零/// </summary>/// <param name="id"></param>/// <returns></returns>public static int ReSetErrTimes(int id){using (SqlConnection conn = new SqlConnection("server=.;database=Test;uid=sa;pwd=jujianfei")){using (SqlCommand cmd = new SqlCommand("update LoginPractice set ErrTimes = 0 where id = " + id, conn)){conn.Open();return cmd.ExecuteNonQuery();}}}/// <summary>/// 更新错误登录时间/// </summary>/// <param name="id"></param>/// <returns></returns>public static int UpDateLastErrTime(int id){using (SqlConnection conn = new SqlConnection("server=.;database=Test;uid=sa;pwd=jujianfei")){using (SqlCommand cmd = new SqlCommand("update LoginPractice set LastErrTime=getdate() where id=" + id, conn)){conn.Open();return cmd.ExecuteNonQuery();    }}}
}

实例下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/10665.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT爆火| 微软ATP推出教师AI素养提升秘籍

最近全球爆火的ChatGPT,让我们领略AI技术的迅猛发展&#xff0c;尤其在自然语言处理&#xff08;NLP&#xff09;、机器学习&#xff08;ML&#xff09;等方向与教育的结合日趋紧密&#xff0c;人工智能在教育领域中的应用呈现出快速增长的趋势。 几乎是在一夜之间 ChatGPT刷爆…

怎么把中文用户名改成英文?

我们的c盘存放的是我们系统的文件&#xff0c;有些用户没有键盘分盘&#xff0c;软件游戏也在其中&#xff0c;因为名字是中文&#xff0c;需要更改成英文&#xff0c;那么win11怎么把中文用户名改成英文&#xff1f;很多小伙伴都想要了解&#xff0c;下面就来看看具体的操作。…

英文论文如何进行润色?

众所周知&#xff0c;英文论文投稿是一件专业性非常强的技术工作。想要被期刊收录&#xff0c;以下三个方面缺一不可&#xff1a;论点和论据优秀的论文&#xff1b;优良的英文表达质量&#xff1b;精湛的投稿技术。 在发表英文论文时&#xff0c;由于语言表达的差异&#xff0c…

心法利器[82] | chatgpt下query理解是否还有意义

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会&#xff0c;与大家一起成长。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。 2022年新一版的文章合集已经发布&#xff0c;累计已经60w字了&#xff0c;获取方式看这里&…

chatGPT大规模使用kubernetes,云原生技术在AI领域也大有可为

文章目录 一、云原生在AI领域的应用方向1.1、弹性部署1.2、自动化和可维护性1.3安全性和隔离性 二、云原生在AI领域的应用案例2.1、chatGPT全面使用云原生技术2.2、TensorFlow Serving和k8s及docker的集合2.3、AWS SageMaker 三、云原生AI开发平台的发展 公众号&#xff1a; M…

与chagpt对话记录

每日chagpt对话记录 关注我一下 vscode 浏览器版本 c 函数 无法跳转 C/C IntelliSense, debugging, and code browsing. C/C IntelliSense、调试和代码浏览是指在使用VS Code进行C/C开发时的一些核心功能。下面是对这些功能的简要说明&#xff1a; IntelliSense&#xff08;智能…

使用 ChatGPT 碰到的坑

最近在使用 ChatGPT 的时候碰到一个小坑&#xff0c;因为某些特殊情况我需要使用 syslog 向 logbeat 中发送日志。 由于这是一个比较古老的协议&#xff0c;确实也没接触过&#xff0c;所以就想着让 ChatGPT 帮我生成个例子。 原本我已经在 Go 中将这个流程跑通&#xff0c;所…

ChatGPT帮你调用PID算法【结合代码】

目录 PID算法是一种控制算法 下面分别介绍PID算法中的三个参数 MATLAB代码实现PID MATLAB代码实现PID PID算法是一种控制算法 用于控制系统的稳定性和精度。PID算法的名称来源于其三个组成部分&#xff1a;比例&#xff08;P&#xff09;、积分&#xff08;I&#xff09;和微…

ChatGPT实战之PID算法实现

让chatgpt写一段pid控制算法&#xff0c;看看效果如何。 通过调参也能实现收敛了。实际应用还是要看你具体的需求了。 话不多说上代码&#xff1a; import matplotlib.pyplot as plt import numpy as np class PositionPID(object): “”“位置式PID算法实现”“” def __ini…

Qt:依据ChatGpt生成Qt可选择扇形按钮

目录 引言1、生成过程1.1 饼图2.2 扇形图3.3 可选择扇形按钮1.4 新的扇形画法*GraphicItem 2、训练过程3、错误原因4、涉及知识点 引言 因为项目需要绘制一个中间为圆心&#xff0c;包含数个扇形的可选择按钮。正好ChatGpt使用起来比较成熟&#xff0c;因此使用询问的方式得到两…

五分钟零基础开发chatgpt+Midjourney工具赢得被动收入

首先感谢laf提供免费使用Midjourney API接口和云函数&#xff0c;需要详细了解的可以访问他们的官网论坛。 感谢论坛前面几位的分享&#xff0c;我做了参考。都有参考就不列啦哈&#xff01;&#xff01;&#xff01; 直接开始&#xff1a; 第一步 复制MJ-SEND云函数到laf云…

chatgpt赋能python:Python短信通知:简单高效的实现方式

Python 短信通知&#xff1a;简单高效的实现方式 现在&#xff0c;随着移动互联网的飞速发展&#xff0c;越来越多的企业和个人开始利用短信来进行通知、推广等操作。Python 作为一门广泛应用于 Web 和数据领域的编程语言&#xff0c;也可以通过一些简单的 API 接口&#xff0…

chatgpt赋能python:Python如何接收短信?——详细介绍,并提供实用代码

Python如何接收短信&#xff1f;——详细介绍&#xff0c;并提供实用代码 短信已经成为了我们日常生活中不可或缺的一部分。在很多行业中&#xff0c;短信通知也被广泛应用&#xff0c;如金融、教育、医疗等等。那么&#xff0c;如何在Python中实现接收短信呢&#xff1f;在本…

人工智能之读懂CNN卷积神经网络

通过往期文章的分享,我们了解了神经网络的结构,一般分为输入层,隐藏层,输出层 TensorFlow神经网络 那什么是卷积神经网络那,这就要我们追溯一下人类识别图像的原理 人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素 Pixels),接着做初步处理(大脑皮层某些细胞发现…

人工智能CNN 卷积神经网络结构(tensorflow代码实现)

MNIST是一个简单的视觉计算数据集,它是像下面这样手写的数字图片: MNIST 通过上期的分享,我们了解了手写数字识别的基本原理以及CNN卷积神经网络的基本原理,本期我们结合MNIST数据集,来用代码来实现CNN。(手写数字识别是TensorFlow人工智能最基础的案例,这个跟学习编程…

基于深度学习的图像分类:使用卷积神经网络实现猫狗分类器

摘要&#xff1a; 深度学习在计算机视觉领域中具有广泛的应用。本文将介绍如何使用卷积神经网络&#xff08;CNN&#xff09;实现一个猫狗分类器。我们将使用Python和TensorFlow框架搭建一个简单的卷积神经网络模型&#xff0c;并利用猫狗图像数据集进行训练和测试。通过本文&a…

6种卷积神经网络压缩方法

点击上方“AI遇见机器学习”&#xff0c;选择“星标”公众号 第一时间获取价值内容 来源&#xff1a;机器学习杂货店 本文约5200字&#xff0c;建议阅读10分钟 我们知道&#xff0c;在一定程度上&#xff0c;网络越深&#xff0c;参数越多&#xff0c;模型越复杂&#xff0c;其…

超简单的卷积和加法融合,伪代码版

原创文章请勿随意转载&#xff0c;如有需要&#xff0c;请于作者联系。 前几天写了一个卷积神经网络&#xff08;CNN&#xff09;中&#xff0c;卷积和加法融合的文章。有同学问&#xff0c;希望写一个带代码版本的&#xff0c;方便更好的理解。 我的第一反应是&#xff0c;代…

【深度学习NLP】基于卷积神经网络(CNN)实现中文文本情感分析(分类)附代码以及数据集链接

【注】&#xff1a;本文所述的实验的完整实现代码包括数据集的仓库链接会在文末给出(建议读者自行配置GPU来加速TensorFlow的相关模型&#xff0c;运行起来会快非常多) 目录 一、研究的背景和目的 二、文本数据集描述 1、数据集来源以及使用目的 2、数据规模、以及如何划分…

Stability AI 创始人:大模型不应该只属于巨头

作者 | 凌梓郡 编辑 | 靖宇 追溯 ChatGPT 引发的 AI 军备竞赛&#xff0c;可以回到去年 7 月&#xff0c;图像生成模型 Stability Diffusion 开源&#xff08;下文称 SD&#xff09;。这个在 Open AI 的绘画模型 DALL- E2 之后发布的模型&#xff0c;因其源代码开源&#xff0c…