WinForm登录窗口实例-洋葱先生-杨少通

2023-12-26 05:20

本文主要是介绍WinForm登录窗口实例-洋葱先生-杨少通,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前提:

创建数据库、插入相关数据,我的数据库表名为:User_Info,插入数据如下:

在这里插入图片描述

实现功能:

登录与跳转。用户输入用户名和密码,与数据库的User_Info表进行比对,如果找到对应的用户名密码,则显示登录成功,并跳转(WinForm 数据库增、删、改、查实例 ),其它情况:

①当帐号名与数据库一致,密码不一致时,提示“密码错误”

②当帐号不正确时,提示“查无此人”

③当用户名和密码都与数据库一致时,登录至(4-2题,即WinForm 数据库增、删、改、查实例)查询界面,实现通过帐号查询id,再通过id到Student_Info表中查询拥有此id的人员姓名,最后在查询界面的标题栏显示此人的姓名,形如:“查询界面,(李四,欢迎您)”

效果如如下:

在这里插入图片描述

代码如下:

     //实例化对象,用于开启程序和数据库之间的连接SqlConnection conn;//窗体Load事件private void _4_4_Load(object sender, EventArgs e){this.Text = "登录窗口";textBox2.PasswordChar = '*';//连接数据库conn = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=WinFormSQL;Data Source=localhost");//打开数据库连接conn.Open();}//“登录”按钮的Click事件private void button1_Click(object sender, EventArgs e){//定义字符串变量用于存储学生idstring studentID;//实例化对象,用于对数据库发出指令SqlCommand cmd = new SqlCommand();//向数据库发出打开/关闭指令cmd.Connection = conn;//向数据库发出查询指令,查询输入的帐号是否存在cmd.CommandText = "select count(*) from User_Info where userName='" + textBox1.Text + "'";//ExecuteScalar()方法是从数据库中检索单个值,返回值是object类型//用ExecuteScalar()是select中的“*”必须改为“count(*)”string r = cmd.ExecuteScalar().ToString();if (r!="0"){//帐号存在,根据帐号查询该用户的idcmd.CommandText= "select userId from User_Info where userName='" + textBox1.Text+"'";//将id存入之前定义的变量studentID内studentID = cmd.ExecuteScalar().ToString();//去数据库中查找帐号和密码是否正确string sql = "select count(*) from User_Info where userName='{0}' and userPassward='{1}'";cmd.CommandText= string.Format(sql, textBox1.Text, textBox2.Text);r = cmd.ExecuteScalar().ToString();//正确时if (r!="0"){//实例化之前的 窗体4-2_4_2 f43 = new _4_2();//根据之前查找到的studentID去学生表中,查找姓名cmd.CommandText = "select studentName from Student_Info where studentID='" + studentID+"'";//使窗体4-2显示时窗体标题显示为“查询界面(某某,欢迎您)”f43.Text ="查询界面"+"("+ cmd.ExecuteScalar().ToString()+",欢迎您)";f43.Show();}elseMessageBox.Show("密码错误", "消息提醒");}elseMessageBox.Show("查无此人", "消息提醒");}private void button2_Click(object sender, EventArgs e){this.Close();}

代码均为原创,存在不足还请见谅!如有转载请注明来源: www.dreamload.cn/blog/?p=454&preview=true (洋葱先生)

这篇关于WinForm登录窗口实例-洋葱先生-杨少通的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/538251

相关文章

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

springboot+mybatis一对多查询+懒加载实例

《springboot+mybatis一对多查询+懒加载实例》文章介绍了如何在SpringBoot和MyBatis中实现一对多查询的懒加载,通过配置MyBatis的`fetchType`属性,可以全局... 目录springboot+myBATis一对多查询+懒加载parent相关代码child 相关代码懒

C++中的解释器模式实例详解

《C++中的解释器模式实例详解》这篇文章总结了C++标准库中的算法分类,还介绍了sort和stable_sort的区别,以及remove和erase的结合使用,结合实例代码给大家介绍的非常详细,感兴趣... 目录1、非修改序列算法1.1 find 和 find_if1.2 count 和 count_if1

MySQL中如何求平均值常见实例(AVG函数详解)

《MySQL中如何求平均值常见实例(AVG函数详解)》MySQLavg()是一个聚合函数,用于返回各种记录中表达式的平均值,:本文主要介绍MySQL中用AVG函数如何求平均值的相关资料,文中通过代... 目录前言一、基本语法二、示例讲解1. 计算全表平均分2. 计算某门课程的平均分(例如:Math)三、结合

在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)

《在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)》DataGrip是JetBrains公司出品的一款现代化数据库管理工具,支持多种数据库系统,包括MySQL,:本文主要介绍在D... 目录前言一、登录 mysql 服务器1.1 打开 DataGrip 并添加数据源1.2 配置 MySQL

Springboot中JWT登录校验及其拦截器实现方法

《Springboot中JWT登录校验及其拦截器实现方法》:本文主要介绍Springboot中JWT登录校验及其拦截器实现方法的相关资料,包括引入Maven坐标、获取Token、JWT拦截器的实现... 目录前言一、JWT是什么?二、实现步骤1.引入Maven坐标2.获取Token3.JWT拦截器的实现4.

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

90%的人第一步就错了! 顺利登录wifi路由器后台的技巧

《90%的人第一步就错了!顺利登录wifi路由器后台的技巧》登录Wi-Fi路由器,其实就是进入它的后台管理页面,很多朋友不知道该怎么进入路由器后台设置,感兴趣的朋友可以花3分钟了解一下... 你是不是也遇到过这种情况:家里网速突然变慢、想改WiFi密码却不知道从哪进路由器、新装宽带后完全不知道怎么设置?别慌