-
2020-12-23 14:33:17
C#操作mysql需要添加相应版本的MySql.Data.dll引用
MysqlBase.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using MySql.Data.MySqlClient; using System.Data; namespace 一键配置工具 { class MysqlBase { private MySqlConnection conn = null; private MySqlCommand command = null; private MySqlDataReader reader = null; /// <summary> /// 构造方法里建议连接 /// </summary> /// <param name="connstr"></param> public MysqlBase(string connstr) { //我这里是在构造函数里传入mysql连接语句 conn = new MySqlConnection(connstr); } /// <summary> /// 发送指令 /// </summary> /// <param name="sql"></param> public void CreateCommand(string sql) { conn.Open(); command = new MySqlCommand(sql, conn); } /// <summary> /// 增、删、改公共方法 /// </summary> /// <returns></returns> public int commonExecute() { int res = -1; try { res = command.ExecuteNonQuery(); }catch(MySqlException ex) { Console.WriteLine("操作失败!" + ex.Message); } conn.Close(); return res; } /// <summary> /// 查询方法 /// 注意:尽量不要用select * from table表(返回的数据过长时,DataTable可能会出错),最好指定要查询的字段。 /// </summary> /// <returns></returns> public DataTable selectExecute() { DataTable dt = new DataTable(); using (reader = command.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(reader); } return dt; } } }
使用示例:
1、实例类
string mysqlStr = "Database=mydata_db;Data Source=127.0.0.1;User Id=root;Password=root;;pooling=false;CharSet=utf8;port=3306;" MysqlBase mysqlBase = new MysqlBase(mysqlStr);
2、查询
//查询 string sql = "select * from student where id=" + id; mysqlBase.CreateCommand(sql); DataTable dt = mysqlBase.selectExecute(); if (dt.Rows.Count != 0) { int id = Convert.ToInt32(dt.Rows[0][0]); int name = dt.Rows[0][1]; } else { MessageBox.Show("无数据"); }
3、增、删、改
string sql = "update student set name='张三',age=20 where id="+id; mysqlBase.CreateCommand(sql); int res = mysqlBase.commonExecute(); if (res > 0) { MessageBox.Show("更新成功"); }else{ MessageBox.Show("更新失败"); }
更多相关内容 -
C#操作Mysql
2018-04-09 17:35:03简单的 C#操作Mysql,可以运行,里面有增删查改等主要借助于MySql.Data.dll脚本,不过我的工程里的Debug文件夹里已经含有此dll只要引用就可以使用了 -
C#操作mysql数据库的实例
2021-01-27 15:42:15创建类MysqlConnector并添加引用:我创建的信息如下:创建一个数据表,数据如下:我使用的是进行演示,界面设计...因为最近做了一个C#操作Mysql的小项目,我也是边学边做,总结了一点小工具,稍后会继续与大家分享,感 -
C#操作mysql数据库的封装类
2021-07-07 10:42:27C#操作mysql数据库的封装类,带注释,代码完整,适合企业级开发 -
解决C#操作Mysql时中文乱码问题(真的解决了)
2019-04-11 01:25:32NULL 博文链接:https://macrotea.iteye.com/blog/1683977 -
C#实现Mysql数据库操作实例(含源码)
2020-02-24 10:55:301.该资源为C#操作MySql数据库的实例应用,内含源码 2.环境配置好后,源码可直接运行。 3.可供开发者进行学习和参考 -
C#操作mysql.zip
2021-04-10 09:52:11C#操作mysql -
C#操作MySql数据库
2020-10-24 00:45:20C#向MySql数据库中插入数据C#操作MySql数据库
一、MySQL数据库导入导出
在使用MySQL数据库时经常需要导入导出操作,导入导出操作可以在命令行终端进行,Windows系统下打开cmd命令行工具,进入到MySQL安装目录下,进入bin文件夹,文件夹中有一系列可执行程序,如下图所示:
然后在cmd中输入如下命令将数据库导出,其中database01为要导出的数据库名称,D:/backup.sql为导出的文件路径。
mysqldump -u root -p -d database01 > D:/backup.sql
上面命令仅导出database01数据库结构,包括包含的表结构,而不会导出存储的数据,如果需要导出结构及数据,命令如下,即去掉-d:
mysqldump -u root -p database01 > D:/backup.sql
数据库导入操作需要先登录MySQL数据库,然后create一个数据库,use该数据库,然后执行source操作,命令如下:
mysql -u root -p create database database01; use database01; source D:/backup.sql
二、MySQL数据库操作拓展MySql.Data下载
使用C#操作MySQL数据库需要先下载一个拓展,在visual studio中通过NuGet包管理器下载,在搜索框中搜索MySql.Data,如下图所示,安装到解决方案中即可。
三、C#开启MySQL服务
使用MySQL数据库一般会安装对应的系统服务,该服务会开启3306端口等待数据库连接。一般情况下每次计算机开机后该服务都会开机自启,但有时可能由于一些原因导致服务未正常运行则会造成数据库连接失败。因此需要检查服务是否运行,如未运行则通过代码手动开启,示例代码如下:
using System.ServiceProcess; ... string mysqlserver = "MySQL"; var serviceControllers = ServiceController.GetServices(); //获取指定服务,若服务状态不是Runing就Start该服务 var server = serviceControllers.FirstOrDefault(service => service.ServiceName == mysqlserver); if (server == null) { MessageBox.Show("数据库服务未安装,请安装该服务"); return false; } //Console.WriteLine(server.Status); if (server != null && server.Status != ServiceControllerStatus.Running) { try { server.Start(); Thread.Sleep(3000); } catch (Exception ex) { MessageBox.Show(ex.Message); Thread.Sleep(2000); if (server.Status != ServiceControllerStatus.Running) { try { server.Start(); Thread.Sleep(3000); } catch (Exception ex01) { MessageBox.Show(ex01.Message); } } } }
四、C#连接MySQL数据库
使用C#连接数据库需要输入数据库IP地址、端口、用户名和密码四个参数,示例代码如下:
using MySql.Data.MySqlClient; ... MySqlConnection Conn = null;//数据库连接 if (Conn.State == System.Data.ConnectionState.Open) { MessageBoxResult messageresult = MessageBox.Show("数据库已连接,是否重新进行连接", "提醒", MessageBoxButton.OKCancel, MessageBoxImage.Information); if (messageresult == MessageBoxResult.Cancel) { return; } else { Conn.Close(); } } string IP = "127.0.0.1"; string port = "3306"; string user = "用户"; string pwd = "密码"; string connectStr = "server=" + IP + ";port=" + port + ";user=" + user + ";password=" + pwd; Conn = new MySqlConnection(connectStr); try { Conn.Open(); MessageBox.Show("数据库连接成功"); } catch (Exception ex) { MessageBox.Show(ex.Message); }
五、C#读取MySQL数据库
C#读取数据库中数据,示例代码如下:
List<string> idList = new List<string>(); List<string> nameList = new List<string>(); DateTime dt = DateTime.Now; string str = "select id,name from database01.table01 where id = 1" + " and DT > '" + dt.ToString() + "' and DT<'" + dt.AddDays(1).ToString() + "';";//查询出id为1且日期为今天的数据行 MySqlCommand mySqlCommand = new MySqlCommand(str, Conn); MySqlDataReader reader = null; try { reader = mySqlCommand.ExecuteReader(); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } while(reader.Read()) { idList.Add(reader[0].ToString());//将查询出的数据分字段存储到列表中 nameList.Add(reader[1].ToString()); } reader.Dispose(); mySqlCommand.Dispose();
六、C#写入MySQL数据库
C#向数据库中插入数据,示例代码如下:
string str = "insert into database01.table01(id,name,DT) values(@id,@name,@DT)";//向数据库database01的表table01插入数据,table01第一个字段为id,第二个字段为name,第三个字段为DT MySqlCommand mycmd = new MySqlCommand(str, Conn); mycmd.Parameters.Add(new MySqlParameter("@id", MySqlDbType.VarChar));//字段类型为可变长度字符串 mycmd.Parameters.Add(new MySqlParameter("@name", MySqlDbType.VarChar)); mycmd.Parameters.Add(new MySqlParameter("@DT", MySqlDbType.DateTime));//字段类型为日期 mycmd.Parameters["@id"].Value = "1";//赋值 mycmd.Parameters["@name"].Value = "kity"; DateTime dateTime = DateTime.Now; mycmd.Parameters["@DT"].Value = dateTime; try { mycmd.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); mycmd.Dispose(); return; } mycmd.Dispose();
七、MySQL数据库配置文件修改
MySQL数据库在Linux系统下的配置文件名称为my.cnf,在Windows系统下的名称为my.ini。在使用过程中出于某些原因可能需要对配置文件进行修改,例如在连接数据库时,第一次连接总是超时连接失败,需要重新连接,这可能是因为当前MySQL默认开启了SSL认证,导致连接失败,这时需要在配置文件中关闭SSL。
Windows系统下MySQL配置文件通常在安装根目录的bin文件夹下,文件名为my.ini,打开该文件,在[mysqld]下增加ssl_skip,即如下所示。[mysqld] sssl_skip
修改配置文件保存后,重启MySQL服务会发现修改并未起作用,这是因为MySQL只会从几个特定路径读取配置文件,而bin文件夹下的my.ini并不在特定路径之中,可以通过打开cmd,切换到bin文件夹下,输入mysql --help,来查看MySQL预设的配置文件所在路径,如下图所示:
所以可以将修改后的my.ini文件移动到MySQL安装根目录下或其他上图所示的路径,然后重启MySQL服务,那么修改就会生效了。参考文档
mysql数据库导入导出
Mysql数据库迁移
C# 向MySQL数据库存储及读取图片、音乐等文件
C# 批量插入数据到mysql数据库
MySQL 中Blob类型数据的插入和读取
mysql查询:有关时间的筛选
C#往SQL数据库字段中插入二进制文件的三种方法
C# DataReader的详细用法
C#实现文件与二进制互转并存入数据库
windows 下 mysql 配置文件不生效 -
C#操作MySQL数据库
2021-04-29 11:38:20必要准备:SQLyog(MySQL数据库可视化辅助软件) 提取码uq2v。MySQL数据库下载提取码:n76g。一、综述根据操作数据库时是否需要一直连接的特点,将行为分为两种。第一种是对数据库始终保持连接状态;第二种是先将数据...必要准备:SQLyog(MySQL数据库可视化辅助软件) 提取码uq2v。 MySQL数据库下载 提取码:n76g。
一、综述
根据操作数据库时是否需要一直连接的特点,将行为分为两种。第一种是对数据库始终保持连接状态;第二种是先将数据暂存于内存中,操作是对内存的数据,操作完成后,更新数据库,如图1所示。
图1 操作数据库的方式
二、长连数据库
(1)测试界面,如图2所示。
图2 测试界面
(2)示例代码。
private void Button1_Click(object sender, EventArgs e)
{
//一、建立连接。
string connStr = "data source=localhost;uid=root;pwd=123456;database=teaching_database;SslMode = none";
MySqlConnection conn = new MySqlConnection(connStr); //生成连接对象。
try
{
conn.Open();
}catch(Exception ex) //连接失败,需要捕获抛出的异常
{
MessageBox.Show(ex.ToString(), "错误信息");
}
//二、生成命令。
string sqlStr = "select * from 测试 where 性别 = @sex"; //和下文的"@sex"对应。
MySqlCommand cmd = new MySqlCommand(sqlStr, conn); //生成命令构造器对象。
cmd.Parameters.AddWithValue("@sex", textBox_sex.Text);
//三、查询结果。
MySqlDataReader rdr = cmd.ExecuteReader();
try
{
while (rdr.Read())//Read()函数设计的时候是按行查询,查完一行换下一行。
{
string s1 = rdr[0].ToString();
string s2 = rdr[1].ToString();
}
}catch(Exception ex)
{
MessageBox.Show(ex.ToString(), "错误信息");
}
}
(3)SQLyog展示的表格内容,如图3所示。
图3 SQLyog内表内容
(4)单步调试观察运行结果是否匹配,如图4所示。
图4
三、处理解耦数据
(1)测试界面,如图5所示。
图5 解耦数据测试
(2)示例代码。
导入按钮的实现:
private void Button1_Click(object sender, EventArgs e)
{
string connStr = "data source=localhost;uid=root;pwd=123456;database=teaching_database;SslMode = none";
MySqlConnection conn = new MySqlConnection(connStr);
string sqlStr = "select * from 测试"; //
adapter = new MySqlDataAdapter(sqlStr, conn);
set = new DataSet(); //数据集、本地微型数据库可以存储多张表。
adapter.Fill(set,"测试");
dataGridView1.DataSource = set;
dataGridView1.DataMember = "测试";
}
更新按钮的实现:
private void button1_Click_1(object sender, EventArgs e)
{
if(adapter == null || set == null) //先导入数据才能更新数据。
{
MessageBox.Show("请先导入数据");
return;
}
try
{
string msg = "确实要更新吗?";
if(1 == (int)MessageBox.Show(msg, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation))
{
MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter); //命令生成器。
adapter.Update(set, "测试");
MessageBox.Show("更新成功", "提示");
}
}catch(Exception ex)
{
MessageBox.Show(ex.ToString(), "错误信息");
}
}
(3)运行测试:运行结果如图6 所示。
图6 运行结果
四、参考资料
【1】C# - MySQL数据库编程 简明教程
【2】C#操作数据库教程
【3】DataGridView编辑后立即更新到数据库的两种方法
【4】C# 中的MessageBox 弹出提示框(消息框)的用法
-
C# 操作MySql数据库
2022-01-05 15:57:33public class MySqlHelper : MonoBehaviour { // Start is called before the first frame update void Start() { MySqlManagerment mysql = new MySqlManagerment("ip", "port", "user", "pwd", "dbName");使用方法:
using MySqlUtils; using UnityEngine; public class MySqlHelper : MonoBehaviour { // Start is called before the first frame update void Start() { MySqlManagerment mysql = new MySqlManagerment("ip", "port", "user", "pwd", "dbName"); mysql.DBOperation(SQLFunction.Insert, "tableName", new string[] { "Name", "Password" }, new string[] { "Test1", "147852" }); } }
DBOperation参数解析:
SQLFunction 是数据库操作:增删改查
tableName:数据表名字
Name,Password:用到的字段
Test1,147852:字段对应的参数 -
C# 操作MySQL
2021-01-26 18:20:37/// ///dataReader转换工具/// public classDataReaderUtils{/// ///放到最后 转换/// /// /// /// public static List DataReadertoList(MySqlDataReader DataReader) where T : new(){List t_lis = new List();... -
C#操作MySQL的类
2021-04-29 11:36:33C#操作MySQL的类public class MySqlService{private static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(MySqlService));//server=localhost;user id=root;password=root;persist security info=... -
C#操作Mysql非常简单的一个小办法附 使用参考
2022-02-16 15:28:00MySql.Data.dll是C#操作MySQL的驱动文件,是C#连接MySQL必要插件,使C#语言更简洁的操作MySQL数据库,本文提供了一个数据库的查询的方法、实现效果展示,结尾会有参考源文章附上,便于快速理解 -
C#操作Mysql实例demo实现简单的增删改查-C#代码类资源
2021-05-05 02:00:26C#操作Mysql实例demo实现简单的增删改查,非常适合刚学C#的新手。简单的操作数据库的增删改查。C#新手入们demo -
C#操作Mysql数据库的MySql.Data.dll下载
2017-11-02 15:47:33CSharp操作Mysql数据库需要的动态库,包含多个版本的MySql.Data.dll下载。 -
C#操作MySql数据库(全且实用)
2020-02-24 10:47:291.该资源已封装好操作MySql的类,内含全部源码。2.可以直接拿来使用,或者在原基础上更改也可。3.源码书写规范,实用性高。4.对代码开发及学习帮助很大。 -
c#操作MySQL数据库封装类
2012-11-22 18:21:25c#操作MySQL数据库封装类 -
c#操作mysql数据库类文件及使用说明
2020-02-15 10:24:29② 作用通过执行sql语句来实现对数据库的操作。 函数二:otsdb.GetDataSet(sqltbnm, constr)函数使用 ① 参数sqltbnm 为数据表的名称,参数constr为数据库连接字符串。 ②返回数据集,用于填充dataGridView ... -
c#操作mysql数据库
2021-01-12 21:33:131、下载mysql.Data.dll,在解决方案->引用中引入,并在文件头部引入 using MySql.Data.MySqlClient; 2、创建MySqlConnection对象(链接库) string connstr = "data source=localhost;database=cs_test;user ... -
从0开始C#操作MySQL数据库
2021-03-03 10:29:17本文旨在展现如何通过C#来操作MySQL数据库,本文通过一个简单范例展示了如何实现这一功能。 准备 MySQL WorkBench8.0 CE VS2013 正文 1.两种连接方式 根据操作数据库时是否需要一直连接的特点,将行为分为两种... -
C#连接mysql数据库与简单操作
2017-09-11 19:30:12本程序实现了使用C#连接mysql数据库,并进行简单的update操作,并且配有详细注释。 使用前需要安装mysql connector 网下载链接https://dev.mysql.com/downloads/connector/net/6.9.html 更多内容可以参考我的csdn... -
c# 操作Mysql常用方法
2020-06-01 00:37:32c# 操作Mysql常用方法 前言:下载MySQl驱动,并引入至项目 安装.net连接mysql的驱动,去http://www.mysql.com/downloads/connector/net/下载并在visual studio的项目中引用。 MySQL基本命令 1、创建、删除数据库 ... -
C#连接操作MySQL数据库进行添加、修改、删除、查询、批量导入、异步处理等操作的演示代码
2020-04-25 17:43:56现本着学习的目的,将c#访问操作MySQL数据库进行添加、删除、修改、显示等操作进行梳理。形成代码,以Visual Studio 2012平台下的示例形式写下来,供以后查看。同时实现了数据库查询,BindingSource绑定控件、... -
C#操作MySql数据库实现增删改查
2021-04-20 11:54:392:使用C#操作MySql数据库,就得使用Mysql数据包 打开vs->工具->NuGet包管理器->管理解决方案的NuGet程序包->安装MySql.Data数据包 在.cs文件中添加引用: using MySql.Data.MySqlClient; 源代码 using... -
c# 操作MySql数据库类
2019-10-23 09:45:46c# 操作MySql数据库类 public class MySqlConnect { //server 数据库地址 //user id 用户名 //password 密码 //persist security info 是否启用线程池 //database 数据库名 private static string ... -
C#操作mysql数据库的代码实例
2020-12-31 23:21:05using MySql.Data.MySqlClient;/// <summary>/// TestDatebase 的摘要说明/// </summary>public class TestDatebase{ public TestDatebase() { // // TODO: 在此处添加构造函数逻辑 // } public static void ... -
C#操作Mysql创建数据库,数据表,增、删、改数据
2011-04-11 18:24:32vs2008C#操作Mysql创建数据库,数据表,增、删、改数据实例。 -
C#操作mysql 实现增删改查
2021-06-02 20:07:02数据库中的表中数据如下 //connStr连接数据库的登录信息 string connStr = "server = localhost; user = root; database = test;... MySqlConnection conn = new MySqlConnection(connStr); try