コード例 #1
0
        public MainWindow()
        {
            InitializeComponent();
            Load1("country", "SELECT * FROM Country");// загрузки стран в listbox, при старте

            //загрузка городов в Combo_search
            string    sqlShowCity = $"SELECT * FROM City";
            DataTable dataCity    = QuerySQLDB.QueryDB(sqlShowCity);

            for (int i = 0; i < dataCity.Rows.Count; i++)
            {
                Combo_search.Items.Add(dataCity.Rows[i][1]);
            }
        }
コード例 #2
0
 private void deleteButtonCity_Click(object sender, RoutedEventArgs e)
 {
     //удаление выбранного города
     if (listCity.Items.Count != 0 && listCity.SelectedIndex != -1)
     {
         string sqlDeleteCity = $"DELETE FROM City WHERE idRegion = {(listCity.SelectedItem as City).idRegion} " +
                                $"AND nameCity = '{(listCity.SelectedItem as City).nameCity}'";
         QuerySQLDB.QueryDB(sqlDeleteCity);
         MessageBox.Show("Запись успешно удалена!");
         listCity.Items.RemoveAt(listCity.SelectedIndex);
     }
     else
     {
         MessageBox.Show("Не выбран город для удаления");
     }
 }
コード例 #3
0
        private void Update_city_Click(object sender, RoutedEventArgs e)
        {
            string sqlUpdateCity = $"UPDATE City SET nameCity = '{CityName.Text}' WHERE idRegion = '{lData[0]}'";
            string sqlCheckCity  = $"SELECT * FROM City WHERE nameCity = '{CityName.Text}' AND idRegion = '{lData[0]}'";

            if (QuerySQLDB.QueryDB(sqlCheckCity).Rows.Count == 0)
            {
                QuerySQLDB.QueryDB(sqlUpdateCity);
                resultUpCityText.Foreground = Brushes.Green;
                resultUpCityText.Content    = "Запись успешно изменена!";
            }
            else
            {
                resultUpCityText.Foreground = Brushes.Red;
                resultUpCityText.Content    = "Запись уже существует!";
            }
        }
コード例 #4
0
        public void Load1(string viewSelection, string commandText) //функция загрузки данных из таблиц в listbox
        {
            DataTable dataTable = QuerySQLDB.QueryDB(commandText);  //получаю данные из таблицы

            for (int i = 0; i < dataTable.Rows.Count; i++)          // перебираем данные
            {
                switch (viewSelection)
                {
                case "country":
                    Country dataCountry = new Country()     //создаем экземпляр класса
                    {
                        nameCountry = dataTable.Rows[i][0].ToString()
                    };
                    listCountry.Items.Add(dataCountry);
                    break;

                case "region":
                    Region dataRegion = new Region()
                    {
                        nameCountry = dataTable.Rows[i][0].ToString(),
                        idRegion    = dataTable.Rows[i][1].ToString(),
                        nameRegion  = dataTable.Rows[i][2].ToString()
                    };
                    listRegion.Items.Add(dataRegion);
                    break;

                case "city":
                    City city = new City()
                    {
                        idRegion = dataTable.Rows[i][0].ToString(),
                        nameCity = dataTable.Rows[i][1].ToString()
                    };
                    listCity.Items.Add(city);
                    break;

                default:
                    break;
                }
            }
        }
コード例 #5
0
        private void Search_button_Click(object sender, RoutedEventArgs e)
        {
            string sqlExistCity = $"SELECT * FROM City WHERE nameCity = '{Combo_search.Text}'";

            ClearListView("city");


            DataTable dataCity = QuerySQLDB.QueryDB(sqlExistCity);

            for (int i = 0; i < dataCity.Rows.Count; i++)
            {
                City city = new City()
                {
                    idRegion = dataCity.Rows[i][0].ToString(),
                    nameCity = dataCity.Rows[i][1].ToString()
                };
                listCity.Items.Add(city);


                string    sqlExitsRegion = $"SELECT * FROM Region WHERE idRegion = {dataCity.Rows[i][0]}";
                DataTable dataRegion     = QuerySQLDB.QueryDB(sqlExitsRegion);
                for (int j = 0; j < dataRegion.Rows.Count; j++)
                {
                    Region region = new Region()
                    {
                        nameCountry = dataRegion.Rows[j][0].ToString(),
                        idRegion    = dataRegion.Rows[j][1].ToString(),
                        nameRegion  = dataRegion.Rows[j][2].ToString()
                    };
                    listRegion.Items.Add(region);
                    listCountry.Items.Add(new Country {
                        nameCountry = dataRegion.Rows[j][0].ToString()
                    });
                }
            }
        }
コード例 #6
0
        private void addContentRegion_Click(object sender, RoutedEventArgs e)
        {
            if (addCityName.Text == "" && addRegionName.Text == "" && addRegionId.Text == "" && addCountryName.Text != "")
            {
                string strAddCountry    = $"INSERT INTO Country (nameCountry) VALUES ('{addCountryName.Text}')";
                string strSearchCountry = $"SELECT nameCountry FROM Country WHERE nameCountry ='{addCountryName.Text}'";
                if (QuerySQLDB.QueryDB(strSearchCountry).Rows.Count == 0) //проверка существует ли запись страны в таблице
                {
                    QuerySQLDB.QueryDB(strAddCountry);                    //записываем страну в таблицу
                    resultAdd.Foreground = Brushes.Green;
                    resultAdd.Content    = $"{addCountryName.Text} успешно добавлена";
                }
                else
                {
                    resultAdd.Foreground = Brushes.Red;
                    resultAdd.Content    = $"{addCountryName.Text} уже существует";
                }
            }
            else if (addCityName.Text == "" && (addRegionName.Text != "" && addRegionId.Text != "") && addCountryName.Text != "")
            {
                insertRegion();
            }
            else if (addCityName.Text != "" && (addRegionName.Text != "" && addRegionId.Text != "") && addCountryName.Text != "")
            {
                string sqlExistCity = $"SELECT * FROM City WHERE idRegion = {addRegionId.Text} AND nameCity = '{addCityName.Text}'";
                string sqlAddCity   = $"INSERT INTO City (idRegion, nameCity) VALUES ('{addRegionId.Text}', '{addCityName.Text}')";
                if (insertRegion())
                {
                    //проверяем существует ли город
                    if (QuerySQLDB.QueryDB(sqlExistCity).Rows.Count == 0)
                    {
                        //добавляем город
                        QuerySQLDB.QueryDB(sqlAddCity);
                        resultAdd.Foreground = Brushes.Green;
                        resultAdd.Content    = "Город успешно добавлен";
                    }
                    else
                    {
                        resultAdd.Foreground = Brushes.Red;
                        resultAdd.Content    = "Город уже существует";
                    }
                }
            }
            else
            {
                resultAdd.Foreground = Brushes.Red;
                resultAdd.Content    = "Некоторые поля заполненны некоректно";
            }

            bool insertRegion()
            {
                if (Int32.TryParse(addRegionId.Text, out int correctNumberId2))
                {
                    string sqlExistCountryAndRegion = $"SELECT * FROM Region WHERE nameCountry = '{addCountryName.Text}' AND " +
                                                      $"nameRegion = '{addRegionName.Text}'";
                    string sqlExistId      = $"SELECT * FROM Region WHERE idRegion = {addRegionId.Text}";
                    string sqlExistCounrty = $"SELECT * FROM Country WHERE nameCountry = '{addCountryName.Text}'";

                    string sqlAddCountry = $"INSERT INTO Country (nameCountry) VALUES ('{addCountryName.Text}')";
                    string sqlAddRegion  = $"INSERT INTO Region (nameCountry, idRegion, nameRegion) " +
                                           $"VALUES ('{addCountryName.Text}', {addRegionId.Text}, '{addRegionName.Text}')";

                    if (QuerySQLDB.QueryDB(sqlExistCountryAndRegion).Rows.Count == 0) //проверка существования страны с вписанным регионом
                    {
                        if (QuerySQLDB.QueryDB(sqlExistId).Rows.Count == 0)           //проверка свободен ли id
                        {
                            if (QuerySQLDB.QueryDB(sqlExistCounrty).Rows.Count == 0)  //проверка существования страны в таблице Страны,
                                                                                      //т.к. БД реляционная и это критично
                            {
                                QuerySQLDB.QueryDB(sqlAddCountry);                    //добавляем страну в таблицу Country
                                QuerySQLDB.QueryDB(sqlAddRegion);                     //добавляю запись в таблицу Region

                                resultAdd.Foreground = Brushes.Green;
                                resultAdd.Content    = "Запись успешно добавлена";
                            }
                            else
                            {
                                QuerySQLDB.QueryDB(sqlAddRegion);//добавляю запись в таблицу Region
                                resultAdd.Foreground = Brushes.Green;
                                resultAdd.Content    = "Запись успешно добавлена";
                            }
                        }
                        else
                        {
                            resultAdd.Foreground = Brushes.Red;
                            resultAdd.Content    = "Id уже сущестует, введите новый Id";
                        }
                    }
                    else
                    {
                        resultAdd.Foreground = Brushes.Red;
                        resultAdd.Content    = "Запись уже существует";
                    }
                    return(true);
                }
                else
                {
                    resultAdd.Foreground = Brushes.Red;
                    resultAdd.Content    = "Некорректный индекс региона";
                    return(false);
                }
            }
        }