【MySQL】C# 连接MySQL

devtools/2025/1/23 15:13:36/

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/devtools/152915.html

相关文章

在电商行业中,3D模型的应用有哪些?

在电商行业中,3D模型的应用已经变得日益广泛和重要。以下是一些电商行业如何应用3D模型的具体方式: 一、商品3D展示 1、三维呈现: 通过3D技术,商品可以在电商平台上以三维形式呈现,消费者可以720旋转、缩放查看商品…

JRE、JVM 和 JDK 的区别

Java 的运行和开发环境中,有三个重要的概念:JRE、JVM 和 JDK。 1. JVM (Java Virtual Machine) 定义:Java 虚拟机,是运行 Java 程序的虚拟环境。作用: 执行 .class 字节码文件。提供内存管理、垃圾回收和安全机制。不…

Jmeter进行http接口测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1、jmeter-http接口测试脚本 jmeter进行http接口测试的主要步骤(1.添加线程组 2.添加http请求 3.在http请求中写入接口的URL,路径&#xf…

【一个按钮一个LED】用STM32F030单片机实现苹果充电器的定时装置

文章目录 前言一、要实现的功能1、循环定时2、倒计时3、指示灯提示4、使用场景二、实现方法1、使用方法2、电路设计三、程序代码和成品1.定时中断子程序2.键值处理3.主函数总结前言 笔者前几年买苹果手机、IPAD配的适配器是A1443型号,这种5V1A,USB-A口、小功率的适配器,苹果…

【技巧】优雅的使用 pnpm+Monorepo 单体仓库构建一个高效、灵活的多项目架构

单体仓库(Monorepo)搭建指南:从零开始 单体仓库(Monorepo)是一种将多个相关项目集中管理在一个仓库中的开发模式。它可以帮助开发者共享代码、统一配置,并简化依赖管理。本文将通过实际代码示例&#xff0…

【Linux系统】—— 编译器 gcc/g++ 的使用

【Linux系统】—— 编译器 gcc/g 的使用 1 用 gcc 直接编译2 翻译环境2.1 预处理(进行宏替换)2.2 编译(生成汇编)2.3 汇编(生成机器可识别代码)2.4 链接2.5 记忆小技巧2.6 编译方式2.7 几个问题2.7.1 如何理…

linux下fcntl的概念和使用

fcntl 是 Linux 系统调用之一,用于执行各种与文件描述符相关的操作。它提供了对打开文件的控制,包括复制文件描述符、设置文件状态标志、获取和设置文件描述符标志等。fcntl 的功能非常广泛,可以用来实现多种不同的任务,如锁文件、…

Spring注解篇:@RestController详解

全文目录: 开篇语前言摘要概述源码解析使用案例分享代码分析使用场景优缺点分析测试用例 应用场景案例优缺点分析核心类方法介绍测试用例测试用例分析使用场景优缺点分析测试用例 小结总结文末 开篇语 哈喽,各位小伙伴们,你们好呀&#xff0c…