如何连接mysql数据库?

uajslkp6  于 2021-06-20  发布在  Mysql
关注(0)|答案(6)|浏览(502)

我对c#编程非常陌生,但希望能够访问mysql数据库(没有钱购买ms sql)
但是我有一个问题;我知道开发c应用程序需要“mysql connector/net”和“mysql for visual studio”,但是安装应用程序的人也需要它们吗(有没有可能我可以用这个程序释放连接器dll?)
谢谢
编辑:这两个都是最终用户所必需的,还是仅仅是连接器所必需的?他们还需要什么吗?

pxq42qpu

pxq42qpu1#

您可以使用包管理器将其添加为包,这是最简单的方法。使用mysql数据库不需要其他任何东西。
也可以在包管理器控制台中运行下面的命令

  1. PM> Install-Package MySql.Data

获取mysql.data

bmvo0sr5

bmvo0sr52#

另一个需要考虑的库是mysqlconnector,https://mysqlconnector.net/. mysql.data使用gpl许可证,而mysqlconnector是mit。

r7xajy2e

r7xajy2e3#

您必须从这里下载mysqlconnection-net。
那你需要加上 MySql.Data.DLL 对于msvisualstudio,请执行以下操作:
打开菜单项目
添加
参考
浏览到 C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.12\Assemblies\v4.5.2 添加mysql.data.dll
如果您想了解更多信息,请访问:在此处输入链接说明
要在代码中使用,必须导入库:

  1. using MySql.Data.MySqlClient;

通过单击事件连接到mysql数据库(无ssl模式)的示例:

  1. using System;
  2. using System.Windows;
  3. using MySql.Data.MySqlClient;
  4. namespace Deportes_WPF
  5. {
  6. public partial class Login : Window
  7. {
  8. private MySqlConnection connection;
  9. private string server;
  10. private string database;
  11. private string user;
  12. private string password;
  13. private string port;
  14. private string connectionString;
  15. private string sslM;
  16. public Login()
  17. {
  18. InitializeComponent();
  19. server = "server_name";
  20. database = "database_name";
  21. user = "user_id";
  22. password = "password";
  23. port = "3306";
  24. sslM = "none";
  25. connectionString = String.Format("server={0};port={1};user id={2}; password={3}; database={4}; SslMode={5}", server, port, user, password, database, sslM);
  26. connection = new MySqlConnection(connectionString);
  27. }
  28. private void conexion()
  29. {
  30. try
  31. {
  32. connection.Open();
  33. MessageBox.Show("successful connection");
  34. connection.Close();
  35. }
  36. catch (MySqlException ex)
  37. {
  38. MessageBox.Show(ex.Message + connectionString);
  39. }
  40. }
  41. private void btn1_Click(object sender, RoutedEventArgs e)
  42. {
  43. conexion();
  44. }
  45. }
  46. }
展开查看全部
rqqzpn5f

rqqzpn5f4#

  1. private void Initialize()
  2. {
  3. server = "localhost";
  4. database = "connectcsharptomysql";
  5. uid = "username";
  6. password = "password";
  7. string connectionString;
  8. connectionString = "SERVER=" + server + ";" + "DATABASE=" +
  9. database + ";" + "U`enter code here`ID=" + uid + ";" + "PASSWORD=" + password + ";";
  10. connection = new MySqlConnection(connectionString);
  11. }
fhity93d

fhity93d5#

看看下面的代码,我试了一下,发现:不是写 DBCon = DBConnection.Instance(); 你应该把 DBConnection DBCon - new DBConnection(); (对我有用)
而不是 MySqlComman cmd = new MySqlComman(query, DBCon.GetConnection()); 你应该把 MySqlCommand cmd = new MySqlCommand(query, DBCon.GetConnection()); (缺少d)

wfauudbj

wfauudbj6#

安装oracle的 MySql.Data nuget包。

  1. using MySql.Data;
  2. using MySql.Data.MySqlClient;
  3. namespace Data
  4. {
  5. public class DBConnection
  6. {
  7. private DBConnection()
  8. {
  9. }
  10. public string Server { get; set; }
  11. public string DatabaseName { get; set; }
  12. public string UserName { get; set; }
  13. public string Password { get; set; }
  14. private MySqlConnection Connection { get; set;}
  15. private static DBConnection _instance = null;
  16. public static DBConnection Instance()
  17. {
  18. if (_instance == null)
  19. _instance = new DBConnection();
  20. return _instance;
  21. }
  22. public bool IsConnect()
  23. {
  24. if (Connection == null)
  25. {
  26. if (String.IsNullOrEmpty(databaseName))
  27. return false;
  28. string connstring = string.Format("Server={0}; database={1}; UID={2}; password={3}", Server, DatabaseName, UserName, Password);
  29. Connection = new MySqlConnection(connstring);
  30. Connection.Open();
  31. }
  32. return true;
  33. }
  34. public void Close()
  35. {
  36. Connection.Close();
  37. }
  38. }
  39. }

例子:

  1. var dbCon = DBConnection.Instance();
  2. dbCon.Server = "YourServer";
  3. dbCon.DatabaseName = "YourDatabase";
  4. dbCon.UserName = "YourUsername";
  5. dbCon.Password = "YourPassword";
  6. if (dbCon.IsConnect())
  7. {
  8. //suppose col0 and col1 are defined as VARCHAR in the DB
  9. string query = "SELECT col0,col1 FROM YourTable";
  10. var cmd = new MySqlCommand(query, dbCon.Connection);
  11. var reader = cmd.ExecuteReader();
  12. while(reader.Read())
  13. {
  14. string someStringFromColumnZero = reader.GetString(0);
  15. string someStringFromColumnOne = reader.GetString(1);
  16. Console.WriteLine(someStringFromColumnZero + "," + someStringFromColumnOne);
  17. }
  18. dbCon.Close();
  19. }
展开查看全部

相关问题