【MySQL】C# 连接MySQL

server/2025/1/30 23:33:51/

C# 连接MySQL

1. 添加MySQL引用

安装完MySQL之后,在安装的默认目录 C:Program Files (x86)MySQLConnector NET 8.0 中查找MySQLData.dll文件。

在Visual Studio 中为项目中添加引用。
在这里插入图片描述在这里插入图片描述

2. 引入命名空间

using MySql.Data.MySqlClient;

3. 构建连接

private static MySqlConnection m_Connect = null;
private static void Connect()
{string connectStr = "server=127.0.0.1;port=3306;database=test;user=root;password=root;";m_Connect = new MySqlConnection(connectStr);
}server=IP地址;
port=端口号;
database=数据库名字;
user=管理员账号;
password=账号的密码;

4. 增删改查

private static void Insert()
{try{m_Connect.Open();//string sqlStr = "Insert into users(username, password) values('takil', '789')";//string sqlStr = "Insert into users(username, password, registerdate) values('taksil', '789789', '2015-05-09')";string sqlStr = "Insert into users(username, password, registerdate) values('wilhelm', '78889', '" + DateTime.Now + "')";MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);int result = cmd.ExecuteNonQuery();Console.WriteLine("成功影响了{0}条数据", result);}catch (Exception ex){Console.WriteLine(ex.ToString());}finally{m_Connect?.Close();}
}
private static void Delete()
{try{m_Connect.Open();string sql = "delete from users where username = 'takil'";MySqlCommand cmd = new MySqlCommand(sql, m_Connect);int result = cmd.ExecuteNonQuery();Console.WriteLine("成功影响了{0}条数据", result);}catch (Exception ex){Console.WriteLine(ex.ToString());}finally{ m_Connect?.Close(); }
}
private static void Update()
{try{m_Connect.Open();string sql = "Update users set username = 'wqrwq', password = '123' where id = 5";MySqlCommand cmd = new MySqlCommand( sql, m_Connect);int result = cmd.ExecuteNonQuery();Console.WriteLine("成功影响了{0}条数据", result);}catch (Exception ex){Console.WriteLine(ex.ToString());}finally{ m_Connect?.Close(); }
}
private static void Read()
{try{m_Connect.Open();string sqlStr = "select * from users";//string sqlStr = "select id, username, registerdate from users";MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);MySqlDataReader reader = cmd.ExecuteReader();while (reader.Read()){//Console.WriteLine(reader[0].ToString() + " " + reader[1].ToString() + " " + reader[2].ToString());//Console.WriteLine(reader.GetInt32(0) + " " + reader.GetString(1) + " " + reader.GetString(2));Console.WriteLine(reader.GetInt32("id") + " " + reader.GetString("username") + " " + reader.GetString("password"));}}catch(Exception ex){Console.WriteLine(ex.ToString());}finally{m_Connect?.Close();}
}private static void ReadCount()
{try{m_Connect.Open();string sqlStr = "select Count(*) from users";MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);//MySqlDataReader reader = cmd.ExecuteReader();//reader.Read();//int count = Convert.ToInt32(reader[0]);//Console.WriteLine("总数为{0}", count);object result = cmd.ExecuteScalar();int count = Convert.ToInt32(result);Console.WriteLine("总数为{0}", count);}catch (Exception ex){Console.WriteLine(ex.ToString());}finally{ m_Connect?.Close(); }
}
验证
private static bool ValifyUser(string username, string password)
{try{m_Connect.Open();//string sqlStr = "select * from users where username = '" + username + "' and password = '" + password + "'";string sqlStr = "select * from users where username = @para1 and password = @para2";MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);cmd.Parameters.AddWithValue("para1", username);cmd.Parameters.AddWithValue("para2", password);MySqlDataReader reader = cmd.ExecuteReader();if(reader.Read()){return true;}}catch (Exception ex){Console.WriteLine(ex.ToString());}finally{m_Connect?.Close();}return false;
}

因为作者精力有限,文章中难免出现一些错漏,敬请广大专家和网友批评、指正。


http://www.ppmy.cn/server/163649.html

相关文章

Nuitka打包python脚本

Python脚本打包 Python是解释执行语言,需要解释器才能运行代码,这就导致在开发机上编写的代码在别的电脑上无法直接运行,除非目标机器上也安装了Python解释器,有时候还需要额外安装Python第三方包,相当麻烦。 事实上P…

使用 Docker + Nginx + Certbot 实现自动化管理 SSL 证书

使用 Docker Nginx Certbot 实现自动化管理 SSL 证书 在互联网安全环境日益重要的今天,为站点或应用部署 HTTPS 已经成为一种常态。然而,手动申请并续期证书既繁琐又容易出错。本文将以 Nginx Certbot 为示例,基于 Docker 容器来搭建一个…

美颜技术开发实战:美颜滤镜SDK的性能优化与兼容性解决方案

本篇文章,小编将深入探讨美颜滤镜SDK的性能优化策略,并提供针对不同平台的兼容性解决方案,助力开发者打造高效稳定的美颜体验。 一、美颜滤镜SDK性能优化策略 在美颜处理过程中,图像处理的计算量大,涉及磨皮、美白、…

PostgreSQL 约束

PostgreSQL 约束 在数据库设计中,约束(Constraint)是一种规则,用于确保数据库中的数据满足特定的条件。PostgreSQL 作为一款功能强大的开源关系型数据库管理系统,提供了多种约束类型,以帮助开发者维护数据的一致性和准确性。本文将详细介绍 PostgreSQL 中常见的约束类型…

Spring MVC:深入理解与春招面试要点

在前文中,我们深入探讨了 Spring 框架的核心基础 ——IOC 和 AOP,这二者为 Spring 生态的强大功能奠定了基石。而在实际的 Web 应用开发中,Spring MVC 作为 Spring 家族中负责 Web 层开发的框架,同样发挥着举足轻重的作用。对于春…

windows修改host上github

在 Windows 上修改 hosts 文件可以帮助你解决访问 GitHub 的问题,例如绕过 DNS 污染或加速访问。以下是具体步骤: 1. 找到 hosts 文件 hosts 文件位于 Windows 系统的以下路径: C:\Windows\System32\drivers\etc\hosts2. 以管理员身份编辑 …

Linux二进制部署K8s集群的平滑升级教程

一、升级前的准备工作 备份集群配置和数据 备份/etc/kubernetes/目录,其中包含Kubernetes集群的配置文件。 备份/var/lib/etcd/目录,其中存储了etcd数据库的数据。 使用etcdctl工具备份etcd数据: bash复制 ETCDCTL_API3 etcdctl snapshot s…

【ChatGPT】意义空间与语义运动定律 —— AI 世界的神秘法则

作者介绍 斯蒂芬•沃尔弗拉姆(Stephen Wolfram) 计算机科学家、数学家和理论物理学家,当今科学和技术领域重要的革新者之一。他创造了在全世界备受推崇的软件系统——Mathematica、Wolfram|Alpha和Wolfram语言。 在 ChatGPT 内部,…