MySqlConnection.Open 无限期挂起
Posted
技术标签:
【中文标题】MySqlConnection.Open 无限期挂起【英文标题】:MySqlConnection.Open hangs on indefinitely 【发布时间】: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,这样它就不会停止我的应用程序,我想在进一步操作之前获得与数据库的连接。
除此之外,我之前也做过类似的事情,并且没有问题。
【问题讨论】:
永远不要将密码存储为纯文本 并没有真正解决问题,但我非常同意。 我知道我不打算将密码存储在平面文本中,这是仅用于测试连接的代码。 【参考方案1】:我发现了它无法连接的原因,我必须为 xampp 数据库创建一个密码并将其放入我的连接字符串中。
【讨论】:
以上是关于MySqlConnection.Open 无限期挂起的主要内容,如果未能解决你的问题,请参考以下文章