简体   繁体   中英

Assign SQL Server database Record instead Of Static Data

I have assigned static data in cities list code block, where I have bound static data such as:

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

But I want to assign data from a SQL Server database table. Can someone guide me please how to assign country = sql_data_reader["country"].ToString() , SQL Server data row replacing static data.

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) },
        };
    }
}

Please remove foreach loop as it is not required.

and use your list.property where you want to show data.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM