【问题标题】:MySqlConnection.Open hangs on indefinitelyMySqlConnection.Open 无限期挂起
【发布时间】:2017-06-29 11:06:31
【问题描述】:

我正在创建一个连接到 SQL 数据库的桌面应用程序。由于某种原因,我无法连接到数据库,连接无限期地挂起而没有给出错误(没有像它应该的那样超时)。我正在为我的数据库使用 XAMPP。我已经在谷歌上广泛搜索了我尝试过的问题,例如更改连接字符串和关闭防火墙。

这是我的代码:

string connectionString = "Server=localhost;Database=typewrite;Uid=root;Pwd=";

    public int signIn(string username, string password)
    {
        int signinNum = -1;
        using (MySqlConnection conn = new MySqlConnection(connectionString))
        {
            try
            {
                conn.Open(); // here is the problem
            }
            catch (MySqlException ex)
            {
                Debug.WriteLine(ex.ToString());
                return signinNum;
            }

            using (MySqlCommand cmd = conn.CreateCommand())
            {
                try
                {
                    cmd.CommandText = @"SELECT 'USER_id' WHERE USER_name = @name AND pass = @passw";
                    cmd.Parameters.AddWithValue("@name", username);
                    cmd.Parameters.AddWithValue("@passw", password);
                    MySqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        signinNum = reader.GetInt32(0);
                    }
                }
                catch (MySqlException ex)
                {
                    return signinNum;
                }
            }
        }
        return signinNum;
    }

我已经尝试过不同的变体,但没有占上风。我知道我应该使用 mutli thredding,这样它就不会停止我的应用程序,我想在进一步操作之前获得与数据库的连接。

除此之外,我之前也做过类似的事情,并且没有问题。

【问题讨论】:

  • 永远不要将密码存储为纯文本
  • 并没有真正解决问题,但我非常同意。
  • 我知道我不打算将密码存储在平面文本中,这是仅用于测试连接的代码。

标签: c# mysql xampp


【解决方案1】:

我发现了它无法连接的原因,我必须为 xampp 数据库创建一个密码并将其放入我的连接字符串中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-07
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2019-08-01
    • 1970-01-01
    相关资源
    最近更新 更多