C# 连接mysql数据库

private List<string> executeSQL(string sql)
	{
		MySqlConnection conn = null;
		string connStr = string.Format("server={0};user id={1};password={2};port={3};database=mysql;pooling=false;charset=utf8",
			"192.168.11.111", "root", "XXXX", 3306);
		try
		{
			conn = new MySqlConnection(connStr);
			conn.Open();
			MySqlDataReader reader = null;
			MySqlCommand cmd = new MySqlCommand(sql, conn);
			
			try
			{
				reader = cmd.ExecuteReader();
				List<string> list = new List<string>();
				while(reader.Read())
				{
					if(reader.HasRows)
					{
						list.Add(reader.GetString(0));
					}
				}
				Thread.Sleep(2000);
				reader.Close();
				conn.Close();
				
				return list;
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message);
			}
		}
		catch(Exception ex)
		{
			Console.WriteLine(ex.Message);
		}
		return null;
	}

说明:

1. 数据库连接字符串中pooling=false,并在读完数据后显示关闭连接是最好的方式。

2. 若pooling=false并且没有显示关闭数据库连接,则连接在过一段时间后自动关闭。

3. pooling=true,即使加了显示关闭连接,也不是马上就关闭数据库连接的!

需要添加第三方库(添加引用): Mysql.Data.dll

具体参考: http://www.cnblogs.com/sosoft/p/3906136.html

原文地址:https://www.cnblogs.com/joeblackzqq/p/5646939.html