/// <summary> /// Получает список городов из базы /// </summary> /// <returns>объект класса RegionCitiesLists</returns> public RegionCitiesLists GetCitiesList() { RegionCitiesLists listRC = new RegionCitiesLists(); string sql = "SELECT * FROM 'cities' ;"; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); SQLiteDataReader reader = command.ExecuteReader(); foreach (DbDataRecord record in reader) { listRC.citiesList.Add(new CitiesDataContext { name = record["name"].ToString(), regionID = int.Parse(record["regionID"].ToString()), yandexID = int.Parse(record["yandexID"].ToString()), owmID = record["owmID"].ToString() }); } sql = "SELECT * FROM 'regions';"; command = new SQLiteCommand(sql, m_dbConnection); reader = command.ExecuteReader(); foreach (DbDataRecord record in reader) { listRC.regionsList.Add(new RegionsDataContext { regionID = int.Parse(record["regionID"].ToString()), name = record["name"].ToString() }); } return(listRC); }
// получение списка городов и регионов из базы private void button8_Click(object sender, EventArgs e) { SQLiteDatabaseWorker SQLworker = new SQLiteDatabaseWorker(); SQLworker.SetConnect(Program.DBName); RegionCitiesLists list = SQLworker.GetCitiesList(); SQLworker.CloseConnect(); }
// заполняем базу городами private void button7_Click(object sender, EventArgs e) { // получаем города и региона Yandex.YandexMethods worker = new Yandex.YandexMethods(); RegionCitiesLists list = worker.GetRegionCitiesList(); SQLiteDatabaseWorker SQLworker = new SQLiteDatabaseWorker(); SQLworker.SetConnect(Program.DBName); SQLworker.FillCitiesAndRegionsTables(list); SQLworker.CloseConnect(); }
/// <summary> /// Заполняет таблицы с городами и регионами из xml-ки яндекса /// </summary> /// <returns></returns> public void FillCitiesAndRegionsTables(RegionCitiesLists listRC) { string sql = ""; // записываем все регионы в базу for (int i = 0; i < listRC.regionsList.Count; i++) { sql = @"INSERT INTO regions (regionID, name) VALUES ('" + listRC.regionsList[i].regionID + "', '" + listRC.regionsList[i].name + "');"; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); command.ExecuteNonQuery(); } // записываем все города в базу for (int i = 0; i < listRC.citiesList.Count; i++) { sql = @"INSERT INTO cities (name, regionID, yandexID, owmID) VALUES ('" + listRC.citiesList[i].name + "', '" + listRC.citiesList[i].regionID + "', '" + listRC.citiesList[i].yandexID + "', '" + listRC.citiesList[i].owmID + "');"; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); command.ExecuteNonQuery(); } }