C#连接Mysql数据库详细教程(内附Mysql及Navicat)
作者:mmseoamin日期:2023-12-14

        课上教学使用的是SqlServer数据库,由于SqlServer数据库配置难以理解,故学习使用Mysql代替数据库连接。(Mysql以及Navicat安装说明在压缩包内)

        Mysql连接首先需要用到Mysql.Data.dll连接文件,也就是Mysql Connector Net这一文件,下载后安装会自动在C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.0这个路径(貌似...)

C#连接Mysql数据库详细教程(内附Mysql及Navicat),第1张

        之后就需要在VS的引用中引用这一文件,然后就可以进行数据库的连接操作了。

C#连接Mysql数据库详细教程(内附Mysql及Navicat),第2张

         首先新建项目,选择Windows窗体应用程序创建一个窗体

 C#连接Mysql数据库详细教程(内附Mysql及Navicat),第3张

        将窗体加上组件设置为下图所示样式(可以自由发挥,只要包含相关输入即可)

 C#连接Mysql数据库详细教程(内附Mysql及Navicat),第4张

        创建connect.cs的类文件(这里是我为后续创建信息系统方便设置的集成类,可以通过调用该类少写些代码)

        其中需要在开头加入using MySql.Data.MySqlClient;

        并在类中定义好三个对象

        public MySqlConnection conn = null;//连接对象

        public MySqlCommand comm = null;//语句执行对象

        public MySqlDataReader dr = null;//语句执行结果数据对象

        再使用load()方法封装连接过程,这里就需要自行输入数据库的相关信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
namespace DataBaseManager
{
    class connect
    {
        public MySqlConnection conn = null;//连接对象
        public MySqlCommand comm = null;//语句执行对象
        public MySqlDataReader dr = null;//语句执行结果数据对象
        //用于一个窗口让用户自定义输入用户名与密码,在这里我直接定义好了
        //public string uid;
        //public string pwd;
        public void load()
        {
            //直接写链接语句,比较容易出错
            //conn = new MySqlConnection(
            //    "Database = data;Server = localhost;Port = 3306;Password = " + pwd + ";UserID = " + uid + ";charset = utf8mb4");
            //conn.Open();
            //使用Builder写语句,实现分段
            //与数据库连接的信息
            MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
            //数据库连接时的用户名,可以用pid
            builder.UserID = "root";
            //数据库连接时的密码,可以用pwd
            builder.Password = "admin";
            //数据库连接时的服务器地址
            builder.Server = "localhost";
            //要连接的数据库
            builder.Database = "data";
            //定义与数据连接的链接
            conn = new MySqlConnection(builder.ConnectionString);
            //打开这个链接
            conn.Open();
        }
    }
}

         之后双击窗体中的button,定义输入方法验证连接。

 private void button1_Click(object sender, EventArgs e)
        {
            //con.uid = textBox1.Text;
            //con.pwd = textBox2.Text;
            //调用load方法建立open连接
            con.load();
            //查询语句,查询用户名与密码,这里的ls可以是textBox1.Text
            string sql = "select * from user_info where username ='ls';";
            con.comm = new MySqlCommand(sql, con.conn);
            con.dr = con.comm.ExecuteReader();
            con.dr.Read();
            //验证密码,同理,这里的123可以是textBox2.Text,因为我数据库设置的密码与账号是ls 与 123 所以无论输入什么都是登陆成功
            if ("123" == con.dr.GetString("password"))
            {
                MessageBox.Show("登录成功!");
                con.dr.Close();
                this.Close();//关闭此窗口,方便弹出主窗口
            }
            else
                MessageBox.Show("登录失败!");
        }

        如果你在connect中输入信息有误,一般会出现如下错误,此时就需要检查账号密码是否正确

C#连接Mysql数据库详细教程(内附Mysql及Navicat),第5张

         而如果数据库输入错误,会显示这个错误

C#连接Mysql数据库详细教程(内附Mysql及Navicat),第6张

最后是相关数据库,user_info表的结构,可以在引用完dll文件后后创建这个数据库直接测试该C#窗体文件

C#连接Mysql数据库详细教程(内附Mysql及Navicat),第7张

C#连接Mysql数据库详细教程(内附Mysql及Navicat),第8张

 另外,在压缩包中还放入了一个简易的具备CRUD功能的学生信息系统,可以在深入学习后使用它进行体验

 C#连接Mysql数据库详细教程(内附Mysql及Navicat),第9张

 C#连接Mysql数据库详细教程(内附Mysql及Navicat),第10张

下为学生信息的表结构,相关信息可以自己输入

C#连接Mysql数据库详细教程(内附Mysql及Navicat),第11张

链接:https://pan.baidu.com/s/1Yg1aSgiydHQ1bevX5r3QCQ 

提取码:xyz3

欢迎分享交流!