0

这是连接到 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;        
    }
4

0 回答 0