C#连接MySQL需要添加连接MySQL的引用

本文将介绍3种添加MySQL引用的方法,以及连接MySQL和使用MySQL的教程

C#引用MySQL步骤:

第一种方法:

  1. 下载mysql.data.dll
  2. 将文件放在项目目录下
  3. 在VS2019项目内,引用mysql.data.dll文件
    进入DLL官网下载mysql.data.dll文件(可自选版本下载

    点击下载

    下载完成,然后解压mysql.data.dll文件

    在项目中右键引用->添加引用->浏览->选中MySql.Data.dll文件->确定。操作如下图:

选择引用

右键引用,点击添加引用

点击浏览

选择mysql.data.dll存放的路径

添加引用之后,点击确定即可

记住勾选dll文件

点击引用,就可以看到已经添加mysql.data引用(引用属性里可以看到引用详细信息

第二种方法

  1. 添加动态链接库文件:在官网下载connector/net
  2. 将文件放在项目目录下
  3. 在VS2019项目内,引用mysql.data.dll文件

去MySQL官网下载动态链接库文件

点击Download

点击No thanks, just start my download.开始下载

双击程序

点击Next

选择安装类型

下面是三种安装类型说明:
Typical>典型:通常安装最常见的程序功能。推荐给大多数用户。
Custom>自定义:允许用户选择哪些程序功能将被安装,以及它们将被安装在哪里。建议高级用户使用。
Complete>完整:全部程序功能将被安装。需要最多的磁盘空间。

一般选择第一个Typical即可。


点击install进行安装

看进度条,等待安装即可。

安装完成

选择引用

右键引用,点击添加引用

mysql.data.dll默认存放的路径

由于我们安装了动态链接库文件直接去C盘选择动态链接库文件
路径C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.23\Assemblies\v4.5.2
可以看到很多动态链接库文件

当然你也可以使用Everything快速定位mysql.data.dll的文件路径

输入mysql.data.dll即可快速定位

继续刚刚添加引用的步骤!!!

点击浏览

选择mysql.data.dll存放的路径

找到dll文件路径C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.23\Assemblies\v4.5.2
点击添加

勾选即可,点击确定

查看引用

第三种方法:
直接在visual studio内添加mysql方案包
在菜单栏内部选择工具

点击NuGet包管理器(N)

点击管理解决方案的NuGet程序包(N).
输入mysql

选择官方的(作者Oracle),勾选项目

点击安装

点击确定(添加成功后会弹窗提示

点击我接受

安装成功

完成以上操作后即可通过代码连接数据库了。

C#使用MySQL

使用using来调用mysql连接,这样使用完后可以自动关闭连接
连接数据库,不用手动写关闭数据库的方法。

导入命名空间using MySql.Data.MySqlClient;

  • data source=服务器IP地址;
  • database=数据库名称;
  • user id=数据库用户名;
  • password=数据库密码;
  • pooling=是否放入连接池;
  • charset=编码方式;

连接数据库的参数:
string connectstring= "data source=localhost;database=test1;user id=root;password=root;pooling=true;charset=utf8;";
连接数据库的方法:
MySqlConnection msc = new MySqlConnection(connectstring);

补充一下SqlConnectionStringBuilder

在写连接字符串的时候要写很长一段,容易写错
SqlConnectionStringBuilder可以用来帮助我们生成连接字符串.
这样就可以分开来写DataSourceInitialCatalogUserIDPassword 等…

//与数据库连接的信息MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();//用户名builder.UserID = "root";//密码builder.Password = "root";//服务器地址builder.Server = "localhost";//连接时的数据库builder.Database = "lcz";//定义与数据连接的链接MySqlConnection connection = new MySqlConnection(builder.ConnectionString);//打开这个链接connection.Open();

一般写连接字符串

//导入命名空间
using MySql.Data.MySqlClient;static void Main(string[] args){//定义mysql连接字符串string constring = "data source=localhost;database=test1;user id=root;password=root;pooling=true;charset=utf8;";//连接mysqlMySqlConnection msc = new MySqlConnection(constring);}

MySQL连接字符串参数详细解析

通常数据库连接字符串为:

Database=dbname;Data Source=192.168.1.1;Port=3306;User Id=root;Password=****;Charset=utf8;TreatTinyAsBoolean=false;

参数 说明
Server,host, data source, datasource, address, addr, network address 数据库位置(以上任何关键字均可)
Database,initial catalog 数据库名
Port socket 端口,默认 3306
ConnectionProtocol,protocol 连接协议,默认 Sockets
PipeName,pipe 连接管道,默认 MYSQL
UseCompression,compress 连接是否压缩,默认 false
AllowBatch 是否允许一次执行多条SQL语句,默认 true
Logging 是否启用日志,默认 false
SharedMemoryName 内存共享的名称,默认 MYSQL
UseOldSyntax,old syntax, oldsyntax 是否兼容旧版的语法,默认 false
ConnectionTimeout,connection timeout 连接超时等待时间,默认15s
DefaultCommandTimeout,command timeout MySqlCommand 超时时间,默认 30s
UserID, uid, username, user name, user 数据库登录帐号
Password,pwd 登录密码
PersistSecurityInfo 是否保持敏感信息,默认 false
Encrypt Encrypt
CertificateFile 证书文件(.pfx)格式
CertificatePassword 证书的密码
CertificateStoreLocation 证书的存储位置
CertificateThumbprint 证书指纹
AllowZeroDateTime 日期时间能否为零,默认 false
ConvertZeroDateTime 为零的日期时间是否转化为 DateTime.MinValue,默认 false
UseUsageAdvisor, usage advisor 是否启用助手,会影响数据库性能,默认 false
ProcedureCacheSize,procedure cache, procedurecache 同一时间能缓存几条存储过程,0为禁止,默认 25
UsePerformanceMonitor,userperfmon, perfmon 是否启用性能监视,默认 false
IgnorePrepare 是否忽略 Prepare() 调用,默认 true
UseProcedureBodies,procedure bodies 是否检查存储过程体、参数的有效性,默认 true
AutoEnlist 是否自动使用活动的连接,默认 true
RespectBinaryFlags 是否响应列上元数据的二进制标志,默认 true
TreatTinyAsBoolean 是否将 TINYINT(1) 列视为布尔型,默认 true
AllowUserVariables 是否允许 SQL 中出现用户变量,默认 false
InteractiveSession,interactive 会话是否允许交互,默认 false
FunctionsReturnString 所有服务器函数是否按返回字符串处理,默认 false
UseAffectedRows 是否用受影响的行数替代查找到的行数来返回数据,默认 false
OldGuids 是否将 binary(16) 列作为 Guids,默认 false
Keepalive 保持 TCP 连接的秒数,默认0,不保持。
ConnectionLifeTime 连接被销毁前在连接池中保持的最少时间(秒)。默认 0
Pooling 是否使用线程池,默认 true
MinimumPoolSize, min pool size 线程池中允许的最少线程数,默认 0
MaximumPoolSize,max pool size 线程池中允许的最多线程数,默认 100
ConnectionReset 连接过期后是否自动复位,默认 false
CharacterSet, charset 向服务器请求连接所使用的字符集,默认:无
TreatBlobsAsUTF8 binary blobs 是否按 utf8 对待,默认 false
BlobAsUTF8IncludePattern 列的匹配模式,一旦匹配将按 utf8 处理,默认:无
SslMode 是否启用 SSL 连接模式,默认:MySqlSslMode.None

SQL命令的执行方法:

ExcuteNonQuery执行增改删

  1. insert(增)
  2. updata(改)
  3. delete(删)

ExcuteReader:执行多行查询,返回DataReader对象
ExcuteScalar:执行单行查询,返回查询结果的首行数据
创建MySQL命令对象: MySqlCommand cmd = new MySqlCommand(sql, msc);
读取DataReader对象单行数据: reader.Read()
获取单行字段数据: reader.GetInt32(0); reader.GetString(1);

//导入命名空间
using MySql.Data.MySqlClient;static void Main(string[] args){//定义mysql连接字符串string constring = "data source=localhost;database=test1;user id=root;password=root;pooling=true;charset=utf8;";//连接mysqlMySqlConnection msc = new MySqlConnection(constring);#region MySQL操作//写入sql语句string sql = "select * from user";//创建命令对象MySqlCommand cmd = new MySqlCommand(sql, msc);//打开数据库连接msc.Open();//执行命令,ExcuteReader返回的是DataReader对象MySqlDataReader reader = cmd.ExecuteReader();//循环单行读取数据,当读取为null时,就退出循环while (reader.Read()){//输出第一列字段值Console.Write(reader.GetInt32(0) + "\t");//Console.Write(reader.GetInt32("id") + "\t");//判断字段"username"是否为null,为null数据转换会失败if (!reader.IsDBNull(1)){//输出第二列字段值Console.Write(reader.GetString(1) + "\t");//Console.Write(reader.GetString("username") + "\t");}//判断字段"password"是否为null,为null数据转换会失败if (!reader.IsDBNull(2)){//输出第三列字段值Console.Write(reader.GetString(2) + "\n");//Console.Write(reader.GetString("password") + "\t");}}}Console.ReadKey();}

使用Visual Studio 2019连接MySQL数据库详细教程

请参考我另一篇教程

C#连接和使用MySQL数据库详细教程相关推荐

  1. c#加mysql简单系统_visual studio2019连接MYSQL数据库详细教程(C#代码)

    一.工具: 1.visual stdio2019 2.MySQL数据库 二.添加动态链接: Visual Studio中选择项目->管理NuGet程序包(N)  然后在浏览里面搜索MySql.D ...

  2. java连接mysql教程_Java连接MySQL数据库详细教程(附网盘下载地址)

    importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.s ...

  3. IDEA使用JDBC连接MySQL数据库详细教程

    首先需要保证你已经成功安装mysql 接下来下载连接MySQL数据库的驱动 使用JDBC连接MySQL数据库的驱动为Connentor/J,这里以最新版本的8.0为例 解压zip文件,随便解压到一个地 ...

  4. Linux环境安装mysql数据库详细教程(含卸载和密码重置过程)

    本教程适用于centos7/8,mysql 5.x 1.卸载mysql(重要) 在安装mysql之前要确保自己的系统中没有mysql,即使你是刚刚重装的系统或者是刚购买的云服务,也需要检查一下是否存在 ...

  5. ASP最简单的连接MySql数据库详细教程

    目录 1.下载安装mysql-connector-odbc-5.2.5-winx64.msi        下载地址 2.打开控制面板,选择"管理工具" 3. 选择ODBC 数据源 ...

  6. Mysql数据库详细教程

    数据库 (MySQL)概述 1. 什么是数据库 数据库就是存储数据的仓库 2. 哪些公司在使用数据库 金融机构,游戏网站,购物网站,论坛......... 3. 提供数据库服务的软件 MySQL.SQ ...

  7. java程序读取excel表格并存入mysql数据库详细教程

    0)poi简单介绍 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. HSSF - 提供读写Micr ...

  8. C语言连接MySQL数据库编程教程:超详细

    ** C语言连接MySQL数据库编程教程 ** 一.下载安装mysql.h库文件 我们使用的编译器一般为VC6.0或者VS,默认的都是32位编译器,所以我们下载的库文件也直接下载32位的就可以.下面附 ...

  9. myeclipse mysql连接_MyEclipse连接MySQL数据库图文教程

    这篇文章主要为大家详细介绍了MyEclipse连接MySQL数据库图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 自己在自学JavaEE课程时,在做一些小东西的时候,需要连接MySQL数据 ...

最新文章

  1. Java比较同一map是否相同_Java 中HashTable、HashMap、TreeMap三者区别,以及自定义对象是否相同比较,自定义排序等...
  2. 中小微企业谋定发展-国情讲坛·周荣江: 破解民营经济融资难
  3. 干货下载 | 评估产品增长,勿陷入“土著思维”
  4. spring 依赖注入总结
  5. 彻底解决跨浏览器下PHP下载文件名中的中文乱码问题
  6. 中天数相减获得差_Power BI 了解DAX中LASTDATE和MAX之间的区别
  7. 计算日期时间间隔,可计算情侣计算在一起的。精确到,天,时,分,秒(输入的日期距离现在有:819天19670小时1180221分钟70813262秒)
  8. map怎么转化dto_使用MapStruct进行Dto到实体的转换时出错
  9. mysql系列:登陆和退出
  10. 复杂的指针获取字符串里的内容放入数组
  11. [译] Facebook杯2013年编程挑战赛——预选赛题目及答案
  12. 写地道的Python
  13. django(权限、认证)系统——用户Login,Logout
  14. 2×3卡方检验prism_卡方检验(最强总结)
  15. wait(), notify(), notifyAll()等方法介绍
  16. ijkplayer播放器h265解码能力调研
  17. VBA(7)字典及常用应用
  18. Python采集视频数据,下载流媒体m3u8格式
  19. debian安装mediawiki教程
  20. 伪造的指纹能鉴定出来吗_指纹鉴定能鉴定多久时间的指纹 一个月能鉴定出来吗 主要是一个包上有三四个人的指纹 可以鉴定出来吗...

热门文章

  1. BC113 小乐乐定闹钟
  2. 时尚一族青睐手机文学 手机阅读市场初现端倪
  3. ORACLE EXP-00011:表不存在 情况分析及解决方案
  4. 视频教程-用友U8视频教程全集(全模块)-ERP
  5. TryHackMe-CTF collection Vol.1
  6. 下一代物联网的发展趋势和驱动力
  7. PK擂台:搜狗浏览器3.0预览版与IE9性能对比
  8. Qt串口通信 仅供参考
  9. 17070302(UE4的Tonemapper)
  10. PS将长图片切成小图分别保存