首页 教程 开发工具 Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

一.前置工作

1.为VS中的项目安装MySQL程序包,安装方式如下所示:

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

2.数据库准备

(1)记住MySQL数据库的主机名用户名密码

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

(2)创建数据据库test(尽量不要用中文,字符集选utf-8)

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

(3)新建查询创建一个简单的表users

包括id,name,pwd,age,phone.其中id为主键且自增.

CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, pwd VARCHAR(50) NOT NULL, age INT, phone VARCHAR(50) );

(4)插入几条数据

INSERT INTO users (NAME, pwd, age, phone) VALUES ('张三', '123456', 20, '13000000000'), ('李四', '123', 50, '17611111111'), ('王五', '0000', 10, '18522222222')

3.连接测试(重点

做好了上面准备后进行简单的连接测试

(1)添加一个web窗体(后缀为aspx),并打开它的后端逻辑处理页面(后缀为aspx.cs)

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

(2)Page_Load中键入代码(注释写的很清楚,方便自己和大家学习)

//server=主机名,userid=用户名,pwd=密码(我的密码设置为空所以没写), //database=数据库名,charset=utf8mb4表示编码格式 string connet = "server=localhost;user id=root;pwd=;database=test;charset=utf8mb4"; //创建一个新的MySqlConnection对象实例,并使用名为connet的字符串来配置这个连接对象 //然后将这个新创建的连接对象引用赋值给名为con的变量。 MySqlConnection conn = new MySqlConnection(connet); //打开连接 conn.Open(); // 定义一个字符串变量sql,并赋值为一个SQL查询语句 // 这个查询语句的目的是计算users表中的记录总数 string sql = "select count(*) from users"; // 创建一个MySqlCommand对象,用于执行SQL语句 // 构造函数的第一个参数是SQL语句,第二个参数是与该SQL语句关联的数据库连接对象 MySqlCommand cmd = new MySqlCommand(sql, conn); // 执行SqlCommand对象的ExecuteScalar方法 // 这个方法用于执行查询并返回查询结果中的第一行第一列的值 // 因为我们的SQL语句是计算总数,所以返回的是一个整数 // 使用Convert.ToInt32方法将返回的结果转换为整数类型 int result = Convert.ToInt32(cmd.ExecuteScalar()); // 使用Response.Write方法向客户端输出一条消息 // 这条消息包含了数据库中users表的记录总数 Response.Write("数据库中共有" + result + "条数据"); //关闭连接,释放资源(事实上也可以不关) conn.Close();

(3)在web窗体中,右键并选择浏览器进行查看

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

可见连接成功。

二.登陆页面

1.前端设计

使用NAME和PWD进行登录

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

2.后端逻辑(放在登录按钮的点击事件里)

直接贴代码(仅为初学者的学习提供方便,存在SQL注入风险)

// 从TextBox1,TextBox2控件中获取用户输入的用户名,密码,并去除前后的空格 string name = TextBox1.Text.Trim(),pwd = TextBox2.Text.Trim(); string connet = "server=localhost;user id=root;pwd=;database=test;charset=utf8mb4"; // 使用上面定义的连接字符串创建MySqlConnection对象 MySqlConnection conn = new MySqlConnection(connet); // 打开数据库连接 conn.Open(); // 定义SQL查询语句,用于检查数据库中是否存在与输入的用户名和密码相匹配的用户 // 注意:此处的SQL语句存在SQL注入风险,因为用户名和密码是直接拼接进SQL语句的 // 在实际开发中,应使用参数化查询来避免此类风险 string sql = "SELECT COUNT(*) FROM users WHERE name='" + name + "' AND pwd='" + pwd + "'"; // 使用上面定义的SQL语句和数据库连接对象创建MySqlCommand对象 MySqlCommand cmd = new MySqlCommand(sql, conn); // 执行查询,并获取结果(即匹配的用户数) // ExecuteScalar方法返回查询结果中的第一行第一列的值 //int result = Convert.ToInt32(cmd.ExecuteScalar()); // 根据查询结果判断用户是否登录成功 if (result == 1) { // 如果结果为1,表示用户名和密码匹配,登录成功 // 使用Response.Write方法向客户端输出JavaScript代码,弹出提示框并跳转到113.aspx页面 // 记得更改部分数据 Response.Write("<script>alert('登录成功!');window.location.href='113.aspx';</script>"); } else { // 如果结果不为1,表示用户名或密码错误 // 使用Response.Write方法向客户端输出JavaScript代码,弹出错误提示框 Response.Write("<script>alert('用户名或密码错误!')</script>"); } // 关闭数据库连接 conn.Close();

3.运行效果(只进行一部分验证)

键入正确NAME和PWD,弹窗登录成功,并跳转到指定页面

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

这个页面是我自行添加的,自行更改其他页面

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

三.注册页面

1.前端设计

可以忽略后面的验证控件

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

2.后端逻辑(放在注册按钮的点击事件里)

// 从文本框控件中获取用户输入的用户名、密码、年龄和电话号码,并去除前后的空格 string name = txtName.Text.Trim(); string pwd = txtPwd.Text.Trim(); string age = txtAge.Text.Trim(); string phone = txtPhone.Text.Trim(); string connet = "server=localhost;user id=root;pwd=;database=test;charset=utf8mb4"; // 使用上面定义的连接字符串创建MySqlConnection对象 MySqlConnection conn = new MySqlConnection(connet); // 打开数据库连接 conn.Open(); // 定义第一个SQL查询语句,用于检查数据库中是否存在与输入的用户名相匹配的用户 string sql_1 = "SELECT COUNT(*) FROM users WHERE name='" + name + "'"; // 定义第二个SQL语句,用于将新用户信息插入到数据库中的users表 string sql_2 = "INSERT INTO users (name, pwd, age, phone) VALUES ('" + name + "', '" + pwd + "', '" + age + "', '" + phone + "')"; // 使用上面定义的SQL语句和数据库连接对象创建MySqlCommand对象 MySqlCommand cmd_1 = new MySqlCommand(sql_1, conn); MySqlCommand cmd_2 = new MySqlCommand(sql_2, conn); // 执行第一个查询,并获取结果(即匹配的用户数) // ExecuteScalar方法返回查询结果中的第一行第一列的值 int result = Convert.ToInt32(cmd_1.ExecuteScalar()); // 根据查询结果判断用户名是否已存在 // 注意:此处没有直接输出result值,而是根据值来决定下一步操作 // 如果要调试,可以取消注释Response.Write那行代码来查看result值 // Response.Write("<script>alert('" + result + "')</script>"); if (result == 0) { // 如果结果为0,表示用户名不存在,可以注册新用户 // 执行第二个SQL语句,将新用户信息插入到数据库中 cmd_2.ExecuteNonQuery(); // 使用Response.Write方法向客户端输出JavaScript代码,弹出提示框并跳转到指定页面 Response.Write("<script>alert('注册成功!');window.location.href='111.aspx';</script>"); } else { // 如果结果不为0,表示用户名已存在 // 使用Response.Write方法向客户端输出JavaScript代码,弹出错误提示框 Response.Write("<script>alert('用户名重复!请重新注册!')</script>"); } // 关闭数据库连接 conn.Close();

3.运行效果(只进行一部分验证)

键入合适的数据

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

注册

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

查看数据库中表的数据

Visual Studio 2022 连接MySQL数据库,并简单实现登陆注册等功能(.NET开发)

验证成功

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.18k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.23k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.16k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.09k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  489

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  315

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。