【MySQL】C# 连接MySQL

C# 连接MySQL

1. 添加MySQL引用

安装完MySQL之后,在安装的默认目录 C:\Program Files (x86)\MySQL\Connector 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;
}

因为作者精力有限,文章中难免出现一些错漏,敬请广大专家和网友批评、指正。

相关推荐

  1. MySQLMySQL内外连接

    2024-04-13 14:26:05       23 阅读
  2. Mysql:交叉连接、内连接

    2024-04-13 14:26:05       14 阅读
  3. JDBC连接Mysql数据库

    2024-04-13 14:26:05       31 阅读
  4. Qt 连接 Mysql

    2024-04-13 14:26:05       41 阅读
  5. node连接Mysql失败

    2024-04-13 14:26:05       36 阅读
  6. MySQL内外连接

    2024-04-13 14:26:05       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-13 14:26:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-13 14:26:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-13 14:26:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-13 14:26:05       20 阅读

热门阅读

  1. 10个经典Python设计模式解析

    2024-04-13 14:26:05       14 阅读
  2. centos7 安装 rabbitmq3.8.5

    2024-04-13 14:26:05       14 阅读
  3. 时空大数据引擎-GeoMesa

    2024-04-13 14:26:05       14 阅读
  4. 便携式汽车充气泵方案开发设计研发

    2024-04-13 14:26:05       13 阅读
  5. 子矩阵(c++实现)

    2024-04-13 14:26:05       13 阅读
  6. 微服务需要多表关联吗

    2024-04-13 14:26:05       13 阅读
  7. Django 实现登录功能

    2024-04-13 14:26:05       17 阅读
  8. ES6中的Proxy

    2024-04-13 14:26:05       13 阅读