C#连接MySQL的详细步骤

 更新时间:2026年03月15日 13:48:18   作者:w1225h  
文章详细介绍了如何在C#中连接MySQL数据库,包括添加MySQL引用、引入命名空间、构建连接以及进行增删改查操作,同时,文章提醒读者注意可能存在的错误和遗漏,并鼓励大家提供批评和指正,需要的朋友可以参考下

C# 连接MySQL

1. 添加MySQL引用

安装完MySQL之后,在安装的默认目录 C:Program Files (x86)MySQLConnector NET 8.0 中查找MySQLData.dll文件。

在Visual Studio 中为项目中添加引用。

2. 引入命名空间

using MySql.Data.MySqlClient;

3. 构建连接

private static MySqlConnection m_Connect = null;
private static void Connect()
{
    string connectStr = "server=127.0.0.1;port=3306;database=test;user=root;password=root;";
    m_Connect = new MySqlConnection(connectStr);
}


server=IP地址;
port=端口号;
database=数据库名字;
user=管理员账号;
password=账号的密码;

4. 增删改查

private static void Insert()
{
    try
    {
        m_Connect.Open();
        //string sqlStr = "Insert into users(username, password) values('takil', '789')";
        //string sqlStr = "Insert into users(username, password, registerdate) values('taksil', '789789', '2015-05-09')";
        string sqlStr = "Insert into users(username, password, registerdate) values('wilhelm', '78889', '" + DateTime.Now + "')";
       
        MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);
        int result = cmd.ExecuteNonQuery();
        Console.WriteLine("成功影响了{0}条数据", result);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    finally
    {
        m_Connect?.Close();
    }
}

private static void Delete()
{
    try
    {
        m_Connect.Open();
        string sql = "delete from users where username = 'takil'";

        
        MySqlCommand cmd = new MySqlCommand(sql, m_Connect);
        int result = cmd.ExecuteNonQuery();
        Console.WriteLine("成功影响了{0}条数据", result);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    finally
    { m_Connect?.Close(); }
}

private static void Update()
{
    try
    {
        m_Connect.Open();
        string sql = "Update users set username = 'wqrwq', password = '123' where id = 5";

        MySqlCommand cmd = new MySqlCommand( sql, m_Connect);
        int result = cmd.ExecuteNonQuery();
        Console.WriteLine("成功影响了{0}条数据", result);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    finally
    { m_Connect?.Close(); }
}

private static void Read()
{
    try
    {
        m_Connect.Open();
        string sqlStr = "select * from users";
        //string sqlStr = "select id, username, registerdate from users";
        
        MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);
        MySqlDataReader reader = cmd.ExecuteReader();
        while (reader.Read())
        {
            //Console.WriteLine(reader[0].ToString() + " " + reader[1].ToString() + " " + reader[2].ToString());
            //Console.WriteLine(reader.GetInt32(0) + " " + reader.GetString(1) + " " + reader.GetString(2));
            Console.WriteLine(reader.GetInt32("id") + " " + reader.GetString("username") + " " + reader.GetString("password"));
        }
    }
    catch(Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    finally
    {
        m_Connect?.Close();
    }
}


private static void ReadCount()
{
    try
    {
        m_Connect.Open();
        string sqlStr = "select Count(*) from users";
        MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);

        //MySqlDataReader reader = cmd.ExecuteReader();
        //reader.Read();
        //int count = Convert.ToInt32(reader[0]);
        //Console.WriteLine("总数为{0}", count);

        object result = cmd.ExecuteScalar();
        int count = Convert.ToInt32(result);
        Console.WriteLine("总数为{0}", count);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    finally
    { m_Connect?.Close(); }
}

验证

private static bool ValifyUser(string username, string password)
{
    try
    {
        m_Connect.Open();
        //string sqlStr = "select * from users where username = '" + username + "' and password = '" + password + "'";
        string sqlStr = "select * from users where username = @para1 and password = @para2";

        MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);

        cmd.Parameters.AddWithValue("para1", username);
        cmd.Parameters.AddWithValue("para2", password);

        MySqlDataReader reader = cmd.ExecuteReader();
        if(reader.Read())
        {
            return true;
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
    finally
    {
        m_Connect?.Close();
    }
    return false;
}

到此这篇关于C#连接MySQL的详细步骤的文章就介绍到这了,更多相关C#连接MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C# 调用命令行执行Cmd命令的操作

    C# 调用命令行执行Cmd命令的操作

    这篇文章主要介绍了C# 调用命令行执行Cmd命令的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#常用字符串加密解密方法封装代码

    C#常用字符串加密解密方法封装代码

    这篇文章主要介绍了C#常用字符串加密解密方法封装代码,有需要的朋友可以参考一下
    2013-12-12
  • C# DataSet结合FlyTreeView实现显示树状模型数据

    C# DataSet结合FlyTreeView实现显示树状模型数据

    NineRays.WebControls.FlyTreeView 是 9rays.net 推出的一款功能强大的树状模型数据显示控件,本文主要介绍了如何使用其并结合 DataSet对象进行数据显示,感兴趣的可以了解下
    2024-04-04
  • 基于C# 实现刘谦春晚魔术(示例代码)

    基于C# 实现刘谦春晚魔术(示例代码)

    刘谦春晚魔术是一个让人叹为观止的魔术表演,其中涉及到了数学、编程和创意的结合,看了春晚魔术的朋友们,是不是好奇春晚刘谦的魔术是怎么变的,本文分享C# 实现刘谦春晚魔术示例代码,一起看看吧
    2024-02-02
  • C#读取或设置ScrollLock状态的方法

    C#读取或设置ScrollLock状态的方法

    这篇文章主要介绍了C#读取或设置ScrollLock状态的方法,涉及C#操作ScrollLock滚动状态的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#中AutoResetEvent控制线程用法小结

    C#中AutoResetEvent控制线程用法小结

    本文主要来自一道面试题,由于之前对AutoResetEvent的概念比较模糊,面试题题目很简洁:两个线程交替打印0~100的奇偶数,你可以先动手试试,我主要是尝试在一个方法里面完成这个任务,需要的朋友可以参考下
    2022-07-07
  • C#开发Winform控件之打开文件对话框OpenFileDialog类

    C#开发Winform控件之打开文件对话框OpenFileDialog类

    这篇文章介绍了C#开发Winform控件之打开文件对话框OpenFileDialog类,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • 深入探讨C#中的const、readonly关键字

    深入探讨C#中的const、readonly关键字

    这篇文章主要介绍了深入探讨C#中的const、readonly关键字,本文可以帮助你深刻理解这两个关键字,而且是面试中最可能面试到的问题哦,需要的朋友可以参考下
    2014-08-08
  • C#导入导出EXCEL文件的代码实例

    C#导入导出EXCEL文件的代码实例

    这篇文章主要介绍了C#导入导出EXCEL文件代码实例,代码的流程和方法都很详细,需要的朋友可以参考下
    2014-04-04
  • C#判断ip地址是否可以ping的通

    C#判断ip地址是否可以ping的通

    这篇文章主要介绍了ip地址是否可以ping的通的方法,使用到了C#,需要的朋友可以参考下
    2014-06-06

最新评论