2016-05-30 19 views
2

我已經在城市名單的代碼塊分配的靜態數據,在那裏我有綁定的靜態數據,如:指定SQL Server數據庫記錄的,而不是靜態數據

country="Sri Lanka", 
city="Colombo", 
latitude= Convert.ToDecimal(79.861243), 
city_id= 4740, 
longitude= Convert.ToDecimal(79.861243) 

但是我想從一個SQL Server數據庫中指定數據表。有人可以指導我請如何分配country = sql_data_reader["country"].ToString(),SQL Server數據行替換靜態數據。

public void GetCities() 
{ 
      try 
      { 
       SqlConnection sql_con = new SqlConnection("Data Source=Mirzan;Initial Catalog=Numbeo_API;Integrated Security=True"); 
       string sql_query = "SELECT * FROM Numbeo_API.dbo.cities"; 
       sql_con.Open(); 

       SqlCommand sql_command = new SqlCommand(sql_query, sql_con); 
       SqlDataReader sql_data_reader = sql_command.ExecuteReader(); 

       List<City> city_list = new List<City>(); 

       while (sql_data_reader.Read()) 
       { 
        city_list.Add(new City 
        { 
         country = sql_data_reader["country"].ToString(), 
         city = sql_data_reader["city"].ToString(), 
         latitude = Convert.ToDecimal(sql_data_reader["latitude"]), 
         city_id = Convert.ToInt32(sql_data_reader["city_id"]), 
         longitude = Convert.ToDecimal(sql_data_reader["longitude"]), 
        }); 

        foreach (var loop in city_list) 
        { 
         loop.country = sql_data_reader["country"].ToString(); 
         loop.city = sql_data_reader["city"].ToString(); 
         loop.latitude = Convert.ToDecimal(sql_data_reader["latitude"]); 
         loop.city_id = Convert.ToInt32(sql_data_reader["city_id"]); 
         loop.longitude = Convert.ToDecimal(sql_data_reader["longitude"]); 
        } 
       } 
      } 
      catch (Exception ex) 
      { 
      } 
     } 

     private List<City> cities = new List<City>() 
     { 
      new City() { country="Sri Lanka", city="Colombo", latitude= Convert.ToDecimal(79.861243), city_id= 4740, longitude= Convert.ToDecimal(79.861243)}, 
      new City() { country="India", city="Mumbai", latitude= Convert.ToDecimal(19.075983), city_id= 4040, longitude= Convert.ToDecimal(72.877655)}, 
      new City() { country="Sri Lanka", city="Galle", latitude= Convert.ToDecimal(6.230845), city_id= 4744, longitude= Convert.ToDecimal(80.187506)}, 
      new City() { country="Sri Lanka", city="Matara", latitude= Convert.ToDecimal(5.949305), city_id= 4769, longitude= Convert.ToDecimal(80.535347)}, 
      new City() { country="Sri Lanka", city="Kurunagala", latitude= Convert.ToDecimal(5.949305), city_id= 4769, longitude= Convert.ToDecimal(80.535347) }, 
     }; 
    } 
} 
+0

請忽略foreach循環代碼段! – Mirzan

回答

0

請刪除foreach循環,因爲它不是必需的。

並在你想要顯示數據的地方使用你的list.property。

+0

可以請進一步詳細說明,但如何分配sql_data_reader [「city」]。ToString(),替換靜態數據? – Mirzan

+0

請爲我提供您想要分配城市價值的代碼庫。 – CrazyDev

相關問題