这是连接到 MySql 并尝试查询数据的代码,这些是我得到的错误:
处理请求时发生未处理的异常。MySqlException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。MySql.Data.Common.StreamCreator.GetTcpStream(MySqlConnectionStringBuilder 设置)
MySqlException:无法连接到任何指定的 MySQL 主机。MySql.Data.MySqlClient.NativeDriver.Open()
public async Task<List<Store>> getStores(double lat, double lng)
{
List<Store> stores = new List<Store>();
using (MySqlConnection connection = GetConnection())
{
await connection.OpenAsync(); // the code blows up here from time to time
// request to return nearby stores
MySqlCommand cmd = new MySqlCommand("SELECT * FROM Stores WHERE ABS(latitude- @latitude) < 0.006 AND ABS(longitude - @longtitude) < 0.006", connection);
cmd.Parameters.Add(new MySqlParameter("@latitude", lat));
cmd.Parameters.Add(new MySqlParameter("@longtitude", lng));
cmd.CommandTimeout = 120;
// MySqlDataAdapter dataAdapter = new MySqlDataAdapter(cmd);
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
stores.Add(new Store()
{
id = Convert.ToInt32(reader["id"]),
address = reader["address"].ToString(),
latitude = Convert.ToDouble(reader["latitude"]),
longtitude = Convert.ToDouble(reader["longitude"])
});
}
}
}
return stores;
}