f SQL-Server-【MySQL】C# 连接MySQL - Powered by qidao123.com技术社区

【MySQL】C# 连接MySQL

打印 上一主题 下一主题

主题 1953|帖子 1953|积分 5859

C# 连接MySQL

1. 添加MySQL引用

安装完MySQL之后,在安装的默认目录 C:\Program Files (x86)\MySQL\Connector NET 8.0 中查找MySQLData.dll文件。
在Visual Studio 中为项目中添加引用。

2. 引入命名空间

  1. using MySql.Data.MySqlClient;
复制代码
3. 构建连接

  1. private static MySqlConnection m_Connect = null;
  2. private static void Connect()
  3. {
  4.     string connectStr = "server=127.0.0.1;port=3306;database=test;user=root;password=root;";
  5.     m_Connect = new MySqlConnection(connectStr);
  6. }
复制代码
  1. server=IP地址;
  2. port=端口号;
  3. database=数据库名字;
  4. user=管理员账号;
  5. password=账号的密码;
复制代码
4. 增编削查



  1. private static void Insert()
  2. {
  3.     try
  4.     {
  5.         m_Connect.Open();
  6.         //string sqlStr = "Insert into users(username, password) values('takil', '789')";
  7.         //string sqlStr = "Insert into users(username, password, registerdate) values('taksil', '789789', '2015-05-09')";
  8.         string sqlStr = "Insert into users(username, password, registerdate) values('wilhelm', '78889', '" + DateTime.Now + "')";
  9.       
  10.         MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);
  11.         int result = cmd.ExecuteNonQuery();
  12.         Console.WriteLine("成功影响了{0}条数据", result);
  13.     }
  14.     catch (Exception ex)
  15.     {
  16.         Console.WriteLine(ex.ToString());
  17.     }
  18.     finally
  19.     {
  20.         m_Connect?.Close();
  21.     }
  22. }
复制代码


  1. private static void Delete()
  2. {
  3.     try
  4.     {
  5.         m_Connect.Open();
  6.         string sql = "delete from users where username = 'takil'";
  7.         
  8.         MySqlCommand cmd = new MySqlCommand(sql, m_Connect);
  9.         int result = cmd.ExecuteNonQuery();
  10.         Console.WriteLine("成功影响了{0}条数据", result);
  11.     }
  12.     catch (Exception ex)
  13.     {
  14.         Console.WriteLine(ex.ToString());
  15.     }
  16.     finally
  17.     { m_Connect?.Close(); }
  18. }
复制代码


  1. private static void Update()
  2. {
  3.     try
  4.     {
  5.         m_Connect.Open();
  6.         string sql = "Update users set username = 'wqrwq', password = '123' where id = 5";
  7.         MySqlCommand cmd = new MySqlCommand( sql, m_Connect);
  8.         int result = cmd.ExecuteNonQuery();
  9.         Console.WriteLine("成功影响了{0}条数据", result);
  10.     }
  11.     catch (Exception ex)
  12.     {
  13.         Console.WriteLine(ex.ToString());
  14.     }
  15.     finally
  16.     { m_Connect?.Close(); }
  17. }
复制代码


  1. private static void Read()
  2. {
  3.     try
  4.     {
  5.         m_Connect.Open();
  6.         string sqlStr = "select * from users";
  7.         //string sqlStr = "select id, username, registerdate from users";
  8.         
  9.         MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);
  10.         MySqlDataReader reader = cmd.ExecuteReader();
  11.         while (reader.Read())
  12.         {
  13.             //Console.WriteLine(reader[0].ToString() + " " + reader[1].ToString() + " " + reader[2].ToString());
  14.             //Console.WriteLine(reader.GetInt32(0) + " " + reader.GetString(1) + " " + reader.GetString(2));
  15.             Console.WriteLine(reader.GetInt32("id") + " " + reader.GetString("username") + " " + reader.GetString("password"));
  16.         }
  17.     }
  18.     catch(Exception ex)
  19.     {
  20.         Console.WriteLine(ex.ToString());
  21.     }
  22.     finally
  23.     {
  24.         m_Connect?.Close();
  25.     }
  26. }
复制代码
  1. private static void ReadCount()
  2. {
  3.     try
  4.     {
  5.         m_Connect.Open();
  6.         string sqlStr = "select Count(*) from users";
  7.         MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);
  8.         //MySqlDataReader reader = cmd.ExecuteReader();
  9.         //reader.Read();
  10.         //int count = Convert.ToInt32(reader[0]);
  11.         //Console.WriteLine("总数为{0}", count);
  12.         object result = cmd.ExecuteScalar();
  13.         int count = Convert.ToInt32(result);
  14.         Console.WriteLine("总数为{0}", count);
  15.     }
  16.     catch (Exception ex)
  17.     {
  18.         Console.WriteLine(ex.ToString());
  19.     }
  20.     finally
  21.     { m_Connect?.Close(); }
  22. }
复制代码
验证

  1. private static bool ValifyUser(string username, string password)
  2. {
  3.     try
  4.     {
  5.         m_Connect.Open();
  6.         //string sqlStr = "select * from users where username = '" + username + "' and password = '" + password + "'";
  7.         string sqlStr = "select * from users where username = @para1 and password = @para2";
  8.         MySqlCommand cmd = new MySqlCommand(sqlStr, m_Connect);
  9.         cmd.Parameters.AddWithValue("para1", username);
  10.         cmd.Parameters.AddWithValue("para2", password);
  11.         MySqlDataReader reader = cmd.ExecuteReader();
  12.         if(reader.Read())
  13.         {
  14.             return true;
  15.         }
  16.     }
  17.     catch (Exception ex)
  18.     {
  19.         Console.WriteLine(ex.ToString());
  20.     }
  21.     finally
  22.     {
  23.         m_Connect?.Close();
  24.     }
  25.     return false;
  26. }
复制代码
  因为作者精力有限,文章中难免出现一些错漏,敬请广大专家和网友品评、指正。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

伤心客

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表