无法使用C#

时间:2019-06-16 19:52:47

标签: c# mysql

我试图在我的C#应用​​程序中连接mySQL数据库,但是我陷入了一个非常短的代码中而无法正常工作。

我尝试了很多不同的代码,但是所有代码都失败了。 我还尝试使用远程phpmyadmin数据库和localhost数据库,但它们都不起作用。

我已连接到他们两个并在我的代码中复制粘贴了他们的登录名。 我在phpmyadmin服务器上禁用了防火墙。 我已经在PC上打开了3306端口。

using System;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace Tests
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            string connetionString;
            SqlConnection cnn;
            connetionString = @"Data Source=localhost;Initial Catalog=my_projects;User ID=root;Password=123456";
            cnn = new SqlConnection(connetionString);
            cnn.Open();
            MessageBox.Show("Connection Open  !");
            cnn.Close();
        }
    }
}

它应该弹出一个带有“ Connection Open!”的消息框。但实际上会加载30秒,并显示一条错误消息:“找不到或无法访问服务器”。

你有什么主意吗? 我的代码很短,我所做的所有搜索都与到达的代码相似。

1 个答案:

答案 0 :(得分:2)

首先,您需要下载.NET的MySql数据连接器。您可以在https://dev.mysql.com/downloads/connector/net/处找到它。接下来,安装后,您需要在项目中添加对MySql库的引用。参见here how to do it

或者您可以简单地使用NuGet软件包管理器自动下载并安装。

无论如何,在正确安装并引用该库之后,应该将using MySql.Data.MySqlClient;行添加到cs文件中,现在您可以使用MySql所需的类了。 所以你的代码应该是

using MySql.Data.MySqlClient;

... other code ....

private void Button1_Click(object sender, EventArgs e)
{

    try
    {
        string connetionString = @"Server==localhost;Database=my_projects;User ID=root;Password=123456";
        using(MySqlConnection cnn = new MySqlConnection(connetionString))
        {
            cnn.Open();
            MessageBox.Show("Connection Open  !");
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show("Cannot open connection: Reasong:" + ex.Message);
    }

}

请记住,与数据库的连接包含非托管资源,您应始终在此类对象周围添加using statement