C#窗体控件与MySQL实现登录功能

1.windows窗体

控件

1  label1

2  label2

3  textBox1

4  textBox2

5  button1

6  button2

代码:

using System;

using MySql.Data.MySqlClient;

using System.Windows.Forms;

namespace SQLTest

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

//点击"登录"按钮实现数据库验证登录功能

private void button1_Click(object sender, EventArgs e)

{

//1. 获取数据

//从TextBox中获取用户输入信息

string userName = this.textBox1.Text;

string userPassword = this.textBox2.Text;

//2. 验证数据

// 验证用户输入是否为空,若为空,提示用户信息

if (userName.Equals("") || userPassword.Equals(""))

{

MessageBox.Show("用户名或密码不能为空!");

}

// 若不为空,验证用户名和密码是否与数据库匹配

else

{

//用户名和密码验证正确,提示成功,并执行跳转界面。

/*数据库连接*/

//1.创建数据连接,这里注意你登录数据库的数据库名称,用户名和密码

string strcon = "server=localhost;database=c1test;uid=root;pwd=root;";

MySqlConnection con = new MySqlConnection(strcon);

try

{

//2. 打开数据库

con.Open();

//3. sql语句

string sqlSel = "select count(*) from c1test.users where username = '" + userName + "' and userpwd = '" + userPassword + "'";

MySqlCommand com = new MySqlCommand(sqlSel, con);

//4.判断executeScalar方法返回的参数是否大于0,大于0表示查找有数据

if (Convert.ToInt32(com.ExecuteScalar()) > 0)

{

MessageBox.Show("登录成功!");

//跳转主界面

this.DialogResult = DialogResult.OK;

this.Dispose();

this.Close();

}

//用户名和密码验证错误,提示错误。

else

{

MessageBox.Show("用户名或密码错误!");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message.ToString() + "打开数据库失败");

}

}

}

}

}

数据库:

database:c1test

table:users

-- ----------------------------

-- Table structure for users

-- ----------------------------

DROP TABLE IF EXISTS `users`;

CREATE TABLE `users` (

`id` int(10) NOT NULL AUTO_INCREMENT,

`username` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,

`userpwd` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,

`userid` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,

`userrole` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,

PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------

-- Records of users

-- ----------------------------

INSERT INTO `users` VALUES (1, 'admin', '123456', '000001', 'adminst');

INSERT INTO `users` VALUES (2, 'Eastmount', 'eastmount', '000002', 'manager');

c# mysql登录界面_C#窗体控件与MySQL实现登录功能相关推荐

  1. Qt界面优化:Qt窗体控件设置

    Qt界面优化:Qt窗体控件设置 文章目录 Qt界面优化:Qt窗体控件设置 一.效果图 1.鼠标移动点击效果 2. Qt托盘效果 二.使用步骤 1. 背景图片的添加 2. 控件样式的更改 3. Qt窗体 ...

  2. winformbutton边框怎么改_C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法

    C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法 1.新建组件这里可以自定义一个Panel控件起名为PanelEx 2.增加一个BoderColor属性和BoderSize属性 pr ...

  3. 主要的窗体控件的概述

    控件是包含在窗体上的对象,是构成用户界面的基本元素.控件也是设计Windows窗体引用程序的重要工具,使用控件可以减少程序设计中大量重复性的工作,有效的提高设计效率.控件通常是用来完成特定的输入输出功 ...

  4. C# 采用系统委托的方式处理线程内操作窗体控件(转载)

    C# 采用系统委托的方式处理线程内操作窗体控件 C# / asp.net / j 2009-12-25 10:04:47 阅读138 评论0   字号:大中小 订阅 一.System.Windows. ...

  5. C# 遍历窗体控件顺序问题

    今天在做C# winform 窗体控件遍历时遇到控件顺序的问题,也就是控件被遍历的先后问题.实际情况如下所述. 窗体界面如下: 界面构成是:主界面有一个 Panel (Panel_14),Panel_ ...

  6. [原创]FineUI秘密花园(二十七) — 窗体控件概述(上)

    窗体控件在项目中使用非常频繁,同时窗体控件和启用IFrame的面板控件也一起构成了FineUI所特有的内联框架,从而使弹出窗体不再局限于IFrame页面中.本章我们会详细介绍窗体控件的基本用法. 创建 ...

  7. Qt Creator 窗体控件自适应窗口大小布局

    常见的软件窗口大小改变(最大化.手动改变时)需要窗口的部件能够自适应布局,而在Qt的应用程序界面设计中,对于像我一样的初学者如何实现窗口自适应调整还是要绕点弯路的.网上百度了很多,多数说的很含糊,还有 ...

  8. winform窗体控件

    目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichTextBox控件 5.NumericUpDown控件 6.Button(按钮)控件 7.Gro ...

  9. C#学习(十五)——窗体控件用法大全

    C#控件及常用设计整理 1.窗体 1.1.常用属性** (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗 ...

最新文章

  1. 4月份阿里云ECS和VPC升级公告
  2. 【Vegas原创】Oracle每日export的脚本(Windows版)
  3. python基础教程:包的创建及导入
  4. NDArray自动求导
  5. Synchronize读脏
  6. 关于Apache虚拟主机的设置
  7. 树莓派+神经计算棒2实时人脸检测
  8. 反射获取成员变量并改值
  9. Spring 笔记
  10. linux下几个压缩命令
  11. mysql 导出所有函数_mysql 导入导出 包括函数或者存储过程
  12. 关于atollic truestudio for stm32
  13. TOMCAT内存大小调整
  14. 3种常用的Redis缓存读写策略
  15. 【“elabsim”高频电子线路实验】得到输出峰峰值幅度为200mV、频率为10.7MHz正弦波信号
  16. Git版本控制(完美整理版)
  17. 80后小学计算机课上的游戏,80后最值得回味的经典课间游戏
  18. 最全的关于硬件测试的解读
  19. 为什么打印还要另存为_为什么打印图片时出现文件另存为
  20. Excel小技巧之快速填充单元格的几种快捷键

热门文章

  1. 举例说明层次分析的三大原则_【高考压轴题分析】2014年辽宁卷压轴题
  2. GDB调试命令以及GDB调试段错误
  3. 双 JK 触发器 74LS112 逻辑功能。真值表_数电实验 | 时序逻辑电路
  4. Web开发浅涉(以JAVA为例)
  5. 滴水逆向4月16日学习
  6. 任务式对话中的自然语言理解(智能对话场景)
  7. iOS身份证的正则验证
  8. 浅谈 FFT (终于懂一点了~~)
  9. mysql slave duplicate entry_slave 报Duplicate entry for key
  10. 学Excel,办公不求人-优就业-专题视频课程