用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.选择属性,进入以下界面:
用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第1张图片
     4.选择“使用下面的DNS服务器地址(E):”,并且在服务器地址栏里填写8.8.8.8(或者127.0.0.0)和8.8.4.4选择确定,一次退出。
      5.重新打开vs installer成功开始下载。如果只是想用C# 连接MYSQL ,只加以下东东就行啦,多了占空间。用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第2张图片
      6.下载完毕后记得把DNS改回来
      PS:如果以上方法后,进度条仍然不动,方法,大家懂的都懂

S2:创建项目


     1.创建项目的时候,选后面是(.Net Framework)的项目.Net Core不行。至于为什么.Net Core项目里找不到System.Windows.Forms类,我不知道。用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第3张图片

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


      1:如果要在 Visual Studio 2019中使用MySQL数据库,首先需要下载MySQL的驱动Visual Studio默认只显示微软自己的SQL Server数据源,如下图所示:用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第4张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第5张图片

     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->
用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第6张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第7张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第8张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第9张图片

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

另外两个驱动的下载由于有多种方法,以及需要在连接数据库后在实现,所以将在下面连接完数据库后讲解,当然,如果你现在点击剩余的两个连接,下载了也没有关系,下载方法跟已经下载的这个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:这个是安装时候创建的一个测试数据库,和它的名字一样,是一个完全的空数据库,没有任何表,可以删除。

用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第13张图片 用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第14张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第15张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第16张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第17张图片
这里再添加一个说明,若你的数据库设置的端口为‘3306’(默认),若你的数据库端口更改了,比如改成了‘3307’,需要点击高级,把里面的【port】改为对应的’3307‘即可。如下图所示:
点击高级->找到Port,在后面的输入框输入3306
用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第18张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第19张图片 
点击测试连接->确定->确定->然后在属性界面会显示详细信息->服务器资源管理器会显示数据库信息
用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第20张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第21张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第22张图片
连接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引用(引用属性里可以看到引用详细信息)。操作如下图:
用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第23张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第24张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第25张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第26张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第27张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第28张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第29张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第30张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第31张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第32张图片

第二种方法


①添加动态链接库文件:在官网下载connector/net
②将文件放在项目目录下
③在VS2019项目内,引用mysql.data.dll文件
去MySQL官网下载动态链接库文件->点击Download->点击No thanks, just start my download.开始下载->双击程序->点击Next->
选择安装类型
下面是三种安装类型说明:
Typical>典型:通常安装最常见的程序功能。推荐给大多数用户。
Custom>自定义:允许用户选择哪些程序功能将被安装,以及它们将被安装在哪里。建议高级用户使用。
Complete>完整:全部程序功能将被安装。需要最多的磁盘空间。
一般选择第一个Typical即可->点击install进行安装->看进度条,等待安装即可->安装完成
 用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第33张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第34张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第35张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第36张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第37张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第38张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第39张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第40张图片

 选择引用->右键引用,点击添加引用->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->点击添加->勾选即可,点击确定->查看引用
 用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第41张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第42张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第43张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第44张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第45张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第46张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第47张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第48张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第49张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第50张图片

 第三种方法:


直接在visual studio内添加mysql方案包
在菜单栏内部选择工具->点击管理解决方案的NuGet程序包(N).->输入mysql->选择官方的(作者Oracle),勾选项目->点击安装->点击确定(添加成功后会弹窗提示)->点击我接受->安装成功
ps:如果搜索不到mysql,安装教程结束后有解决方法

用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第51张图片 用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第52张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第53张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第54张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第55张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第56张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第57张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第58张图片

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

1、点击右侧的设置按钮

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

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

用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第59张图片

         S4:C#使用MySQL

 由于要达成如图所示界面:
用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第60张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第61张图片

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

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,前面左击打勾,然后在这个窗口右下角左击确定按钮。
用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第62张图片用VS2019(C#)连接MYSQL(从0入门,手把手教学)_第63张图片

报错2:

 

你可能感兴趣的:(数据库,mysql图书管理系统,c#,数据库,visualstudio)