用VS2019(C#)连接MYSQL(从0入门,手把手教学)

目录

S1:到官网下载VS2019

S2:创建项目

 S3:下载插件,准备连接MYSQL

     2:下载驱动

        3:下载mysql-for-visualstudio-1.2.9.msi

      4:连接MySQL

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

第一种方法:

第二种方法

 第三种方法:

         5:C#使用MySQL

 报错1:using System.Windows.Forms报错


S1:到官网下载VS2019

       如果进度条不动,就改自己的DNS :
        1.打开网络适配器,并打开属性
        2.选择Internet协议版本4(TCP/Ipv4)
        3.选择属性,进入以下界面:

     4.选择“使用下面的DNS服务器地址(E):”,并且在服务器地址栏里填写8.8.8.8(或者127.0.0.0)和8.8.4.4选择确定,一次退出。
      5.重新打开vs installer成功开始下载。如果只是想用C# 连接MYSQL ,只加以下东东就行啦,多了占空间。
      6.下载完毕后记得把DNS改回来
      PS:如果以上方法后,进度条仍然不动,方法,大家懂的都懂

S2:创建项目


     1.创建项目的时候,选后面是(.Net Framework)的项目.Net Core不行。至于为什么.Net Core项目里找不到System.Windows.Forms类,我不知道。

 S3:下载插件,准备连接MYSQL


      1:如果要在 Visual Studio 2019中使用MySQL数据库,首先需要下载MySQL的驱动Visual Studio默认只显示微软自己的SQL Server数据源,如下图所示:

     2:下载驱动


     http://mysql-connector-odbc-8.0.20-winx64.msi
mysql odbc驱动
     http://mysql-for-visualstudio-1.2.9.msi
Visual Studio连接MySQL工具
     http://mysql-connector-net-8.0.20.msi
mysql数据库.net开发驱动
     驱动介绍
①.MySQL Connector/ODBC
      有时也可以叫做 MyODBC,用户可以用ODBC (Open Database Connectivity,开放数据库互联)数据库连接Mysql的服务器。比如说,用户可以使用Windows或者Unix平台中的应用程序,如微软的 Access,Excel和Borland 的Delphi去连接数据库服务器。
②.mysql for visual studio(VS连接MySQL工具)
      是一款visual studio连mysql工具,它可以直接集成到Server Explorer中,为设置新连接和处理数据库对象提供无缝体验,但是想让VS访问到MySQL仅仅mysql for visual studio是不够的,还需要下载mysql connector net。
③.MySQL Connector/Net
        是 MySQL 官方的 .NET 驱动程序,MySQL 官方的 .NET 客户端开发包。mysql 数据库最新版dotnet数据库连接驱动。

根据自己的需求下载,我们要用visual studio连接mysql只需要下载mysql for visual studio和MySQL Connector/Net


        3:下载mysql-for-visualstudio-1.2.9.msi


进入官网: mysql-for-visualstudio-1.2.9.msi 下载第一个程序安装包->开始下载(点击No thanks, just start my download.->打开安装包->点击Next->

选择安装类型
       下面是三种安装类型说明:
        Typical>典型:通常安装最常见的程序功能。推荐给大多数用户。
        Custom>自定义:允许用户选择哪些程序功能将被安装,以及它们将被安装在哪里。建议高级用户使用。
        Complete>完整:全部程序功能将被安装。需要最多的磁盘空间。
一般选择第一个Typical即可->点击install->安装完成(点击Finish)->重启visual studio

另外两个驱动的下载由于有多种方法,以及需要在连接数据库后在实现,所以将在下面连接完数据库后讲解,当然,如果你现在点击剩余的两个连接,下载了也没有关系,下载方法跟已经下载的这个same

      4:连接MySQL


在菜单栏里面选择视图->选择数据连接->你就会发现有MySQL 的选项了,进入里面配置数据库相关信息即可->Server name输入MySQL的IP地址
           PS:localhost即本地,localhost=127.0.0.1(一般我们直接选择本地输入localhost或127.0.0.1)
                 然后输入MySQL的用户名和密码
                 Database name输入test(可自行选择)
                 test:这个是安装时候创建的一个测试数据库,和它的名字一样,是一个完全的空数据库,没有任何表,可以删除。

 
这里再添加一个说明,若你的数据库设置的端口为‘3306’(默认),若你的数据库端口更改了,比如改成了‘3307’,需要点击高级,把里面的【port】改为对应的’3307‘即可。如下图所示:
点击高级->找到Port,在后面的输入框输入3306
 
点击测试连接->确定->确定->然后在属性界面会显示详细信息->服务器资源管理器会显示数据库信息

连接MySQL的教程也就结束了
但是光Visual Studio连接MySQL还不行,还需要添加MySQL的引用,安装MySQL Connector/Net就是用来添加MySQL的引用(即我上面说的下载另外的驱动,下面5:展示)


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


将介绍3种添加MySQL引用的方法
C#引用MySQL步骤:


第一种方法:


     下载mysql.data.dll->将文件放在项目目录下->在VS2019项目内,引用mysql.data.dll文件
进入DLL官网下载mysql.data.dll文件(可自选版本下载)->点击下载->下载完成,然后解压mysql.data.dll文件->在项目中右键引用->添加引用->浏览->选中MySql.Data.dll文件(这个地址你在下载的时候放到目标文件旁边,便于你寻找最好)->确定->点击引用,就可以看到已经添加mysql.data引用(引用属性里可以看到引用详细信息)。操作如下图:

第二种方法


①添加动态链接库文件:在官网下载connector/net
②将文件放在项目目录下
③在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).->输入mysql->选择官方的(作者Oracle),勾选项目->点击安装->点击确定(添加成功后会弹窗提示)->点击我接受->安装成功
ps:如果搜索不到mysql,安装教程结束后有解决方法

 

如果搜索不到mysql,解决方法:

1、点击右侧的设置按钮

2、弹出窗中左侧树形结构选择“程序包源”->点击右上方的添加按钮->点击更新->点击确定按钮->输入https://www.nuget.org/api/v2/->后面一直同意就行了,

再次搜索就可找到EF安装包。

         S4:C#使用MySQL

 由于要达成如图所示界面:

 输入以下代码,若出现报错,在下面找到你的报错,按照如图修改即可

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace LinkSQL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string connString;
        MySqlCommand comm = new MySqlCommand();
        MySqlConnection conn;

        private void button1_Click(object sender, EventArgs e)
        {
            connString = "server=localhost; database=test; uid=root; pwd=q1298516531;Character Set=utf8;";
            conn = new MySqlConnection(connString);
            comm.Connection = conn;
            conn.Open();
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void button5_Click(object sender, EventArgs e)
        {
            try
            {
                string sql = "select * from score where ";
                int n = 0;
                if (textBox1.Text != "")
                { 
                    sql += label1.Text + " = " + textBox1.Text; 
                    n++;
                }
                if (textBox2.Text != "")
                {
                    if (n == 0)
                        sql += " " + label2.Text + " = " + textBox2.Text;
                    else
                        sql += " and " + label2.Text + " = " + textBox2.Text;
                }
                if (textBox4.Text != "")
                {
                    if (n == 0)
                        sql += " " + label4.Text + " = " + textBox4.Text;
                    else
                        sql += " and " + label4.Text + " = " + textBox4.Text;
                }
                sql += ";";
                MySqlDataAdapter da = new MySqlDataAdapter(sql, connString);
                DataSet ds = new DataSet();
                da.Fill(ds, "score");
                dataGridView1.DataSource = ds;
                dataGridView1.DataMember = "score";

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                string sql = "insert into score values("+textBox1.Text+","+textBox2.Text+","+textBox4.Text+");";
                MySqlDataAdapter da = new MySqlDataAdapter(sql, connString);
                DataSet ds = new DataSet();
                da.Fill(ds, "score");
                dataGridView1.DataSource = ds;
                dataGridView1.DataMember = "score";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        private void button3_Click_1(object sender, EventArgs e)
        {
            try
            {
                string sql = "delete from score where " ;
                int n = 0;
                if (textBox1.Text != "")
                {
                    sql += label1.Text + " = " + textBox1.Text;
                    n++;
                }
                if (textBox2.Text != "")
                {
                    if (n == 0)
                        sql += " " + label2.Text + " = " + textBox2.Text;
                    else
                        sql += " and " + label2.Text + " = " + textBox2.Text;
                }
                if (textBox4.Text != "")
                {
                    if (n == 0)
                        sql += " " + label4.Text + " = " + textBox4.Text;
                    else
                        sql += " and " + label4.Text + " = " + textBox4.Text;
                }
                sql += ";";
                MySqlDataAdapter da = new MySqlDataAdapter(sql, connString);
                DataSet ds = new DataSet();
                da.Fill(ds, "score");
                dataGridView1.DataSource = ds;
                dataGridView1.DataMember = "score";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            try
            {
                int n = 0;
                string sql = "update score set " + label4.Text + " = " + textBox4.Text + " where s_id = " + textBox1.Text + " and c_id=" + textBox4.Text + ";";
                MySqlDataAdapter da = new MySqlDataAdapter(sql, connString);
                DataSet ds = new DataSet();
                da.Fill(ds, "score");
                dataGridView1.DataSource = ds;
                dataGridView1.DataMember = "score";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
    }
}


 报错1:using System.Windows.Forms报错

首先,你得是按照上面S2创建的项目->右击引用,选择添加引用。在程序集->框架 里面就可以找到System.Windows.Forms,前面左击打勾,然后在这个窗口右下角左击确定按钮。

报错2:

 

  • 11
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要在VS2019中使用C#连接MySQL数据库,需要遵循以下步骤: 1. 下载MySQL Connector/NET,这是一个.NET Framework的MySQL数据提供程序,可以从MySQL官方网站上下载。 2. 在Visual Studio中创建一个新的C#项目。 3. 在项目中添加对MySQL Connector/NET的引用。 4. 在代码中使用MySQL Connector/NET提供的类来连接MySQL数据库,例如MySqlConnection和MySqlCommand。 5. 在连接字符串中指定MySQL服务器的地址、端口、用户名和密码等信息。 6. 执行SQL查询或命令,例如使用MySqlCommand对象的ExecuteNonQuery()方法执行INSERT、UPDATE或DELETE语句,或使用MySqlCommand对象的ExecuteReader()方法执行SELECT语句。 7. 处理查询结果,例如使用MySqlDataReader对象读取查询结果。 以上就是连接MySQL数据库的基本步骤。需要注意的是,连接MySQL数据库需要确保MySQL服务器已经启动,并且已经创建了要连接数据库和表。 ### 回答2: VS2019是微软最新的开发者工具,为开发者提供了全面的开发体验,加强了开发者之间的协作和开发过程的可维护性。在VS2019中,可以使用多个工具集和多重挂载,以及许多新功能和工具。VS2019中也增加了对最新技术的支持,例如.NET Core 3.0和Azure DevOps。 VS2019支持.NET Core的开发,可以让开发者使用全面的.NET Core 3.0和C# 8.0的特性,包括异步可枚举(IAsyncEnumerable)和异步Disposable(IAsyncDisposable)。在使用.NET Core开发时,还能够获得更好的性能和可扩展性。 VS2019还推出了一些新的功能,包括用于测试的IntelliCode自动机器学习,这可以节省时间和资源,从而使测试工作更加高效。此外,还有多重分类视图,以便开发者在多个整体视图中更好地组织和管理项目。 VS2019的调试功能也得到了很大的改进,这些功能包括堆栈解析和大多数异常捕获。对于ASP.NET开发,VS2019还提供了新的调试工具,以便更好地判断问题的原因。 总结来说,VS2019为开发者提供了更好、更全面的开发体验,从而使开发过程更加高效和可维护。因此,VS2019被认为是一个非常好的工具,可以提高开发效率和质量。 ### 回答3: VS2019C 是什么? VS2019C 是指微软公司于2019年发布的Visual Studio 2019 的专业版(Professional)和企业版(Enterprise)版本,其中“C”代表着针对C语言和C ++编程的特殊支持。 VS2019C 主要功能? VS2019C 是针对专业开发者设计的一款集成开发环境(IDE)工具。它具有各种各样且强大的功能,包括: 1. 可支持 C++, C#Visual Basic,及其它编程语言的代码编辑器。VS2019C的代码编辑器从设计上优化,通过简化和提高用户的代码编写效率。 2. 内置了可自动完成、智能提示和高亮的编辑器。这意思是说,用户可以简化和加快他们的编程工作,提高了编写代码的速度和准确性。 3. 支持代码的集成开发环境, 包括代码调试、测试、版本控制和部署,还内置了强大的分析工具以帮助用户识别和解决问题。 4. VS2019C 支持多种应用程序类型的开发,包括桌面应用程序、Web 应用程序、移动应用程序、游戏等。支持各种语言和平台,如 .Net Core,Java,C++,Python 和 PHP等。 5. Visual Studio 2019 C++是最好的C++开发工具之一,尤其与 Windows 平台的开发一脉相承。具有嵌入式开发特性,例如调试、内存管理、变量输出、符号表等特性。 总之,VS2019C 为开发者提供了更为方便的开发和维护多种多样应用程序的环境,减少了测试、问题解决和部署的时间和成本,使得开发工作变得更为高效和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值