2016-05-30 29 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