主机xxxx不允许连接到此MySql服务器和类问题

时间:2016-04-06 11:37:53

标签: c# mysql connection

我目前正在尝试用C#学习MySQL,而且我遇到了一些问题。

        string currServer = w.server.Text;
        string currDatabase = w.database.Text;
        string currUser = w.uid.Text;
        string currPassword = w.password.Text;

        server = currServer;
        database = currDatabase;
        uid = currUser;
        password = currPassword;

这里给我的错误是我不允许连接到该主机。但是当我使用

        server = "localhost";
        database = "test";
        uid = "root";
        password = "test123";

我可以连接到服务器。我试图创建一个新的MySQL用户并且谷歌搜索了一下。

当我想访问我的Query类来运行查询时,我也遇到此错误我收到错误:连接必须有效或打开。 当我在db_connection类中使用相同的方法时,这不会出现。

Query.cs文件:

public void insertToDatabase()
{
    var db_connection = new db_connection();

    string query = "UPDATE users SET facebook = 'TEST123' WHERE user_id=9";

    MySqlCommand cmd = new MySqlCommand(query, db_connection.Connection);

    cmd.ExecuteNonQuery();

    Console.WriteLine("Command: " + query + " executed without errors.");
}

db_connection.cs文件:

public class db_connection
{
    /* ---- Database Variables for Connection ---- */
    public  MySqlConnection connection;
    private string server;
    private string database;
    private string uid;
    private string password;

    public void Initialize(Window w)
    {
        string currServer = w.server.Text;
        string currDatabase = w.database.Text;
        string currUser = w.uid.Text;
        string currPassword = w.password.Text;

        server = "localhost";
        database = "test";
        uid = "root";
        password = "test123";

        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);
    }

    /* ---- Open connection to the database ---- */
    public bool openConnection()
    {
        try
        {
            connection.Open();
            Console.WriteLine("MySQL Connection opened without errors.");
            return true;
        }
        catch (MySqlException ex)
        {
            switch (ex.Number)
            {
                case 0:
                    Console.WriteLine("Could not establish a connection to the server.");
                    break;
                case 1045:
                    Console.WriteLine("Invalid username or password");
                    break;

            }
            return false;
        }
    }

    public MySqlConnection Connection
    {
        get { return this.connection; }
    }

    /* ---- Closing the connection to the database ---- */
    public bool closeConnection()
    {
        try
        {
            connection.Close();
            Console.WriteLine("MySQL Connection shutdown without errors.");
            return true;
        }

        catch (MySqlException ex)
        {
            Console.WriteLine("Error: " + ex.Number);
            return false;
        }
    }

    /* ---- Closing connection and trying to re-connect ---- */
    public bool refreshConnection()
    {
        try
        {
            connection.Close();
            Console.WriteLine("Restarting...");
            connection.Open();
            Console.WriteLine("Connection re-established without errors.");
            return true;
        }

        catch (MySqlException ex)
        {
            Console.WriteLine("Error:" + ex.Number);
            return false;
        }
    }

0 个答案:

没有答案