private void Update(string key_value)
        {
            GetKeyAttrib();
            DataBase     db;
            MySqlCommand command;

            string query;

            if (update_step == 0)
            {
                ShowOptionalTable(key_value, "update");
                AddDefaultRow();
            }
            else
            {
                db = new DataBase(currentDB);
                string   values = "";
                string   temp   = "";
                string   temp2;
                string[] data = new string[2];
                for (int i = 0; i < dataTable.Columns.Count; i++)
                {
                    temp = Optional_table[i, 1].Value.ToString();

                    if (dataTable.Columns[i].DataType.ToString() == "System.DateTime")
                    {
                        temp    = $"{temp.Substring(0, 10)}";
                        data    = temp.Split('.');
                        temp2   = data[2];
                        data[2] = data[0];
                        data[0] = temp2;
                        temp    = $"\"{data[0]}.{data[1]}.{data[2]}\"";
                    }

                    if (dataTable.Columns[i].DataType.ToString() == "System.String")
                    {
                        temp = $"\"{temp}\"";
                    }

                    values += $"`{dataTable.Columns[i].ColumnName.Trim('*')}`={temp},";
                }
                values = values.Trim(',');

                query = $"UPDATE `{get_table.Text}` SET {values} WHERE {attr_name} = {key_value}";
                db.OpenConnection();
                command = new MySqlCommand(query, db.GetConnection());
                if (command.ExecuteNonQuery() == 1)
                {
                    MessageBox.Show("Запись успешно обновлена");
                    dataTable.Rows.Clear();
                    Optional_table.DataSource = dataTable;
                    InputKeyShow();
                    update_step++;
                }
                else
                {
                    MessageBox.Show("");
                    dataTable.Rows.Clear();
                    InputKeyShow();
                }
                dataGridView.DataSource = GetTable(db, get_table.Text);
                db.CloseConnection();
            }
        }
        private void ShowOptionalTable(string key_value, string func)
        {
            GetKeyAttrib();
            DataBase        db;
            MySqlCommand    command;
            MySqlDataReader reader;
            string          query;

            query   = $"SELECT * FROM {get_table.Text} WHERE {attr_name} = {key_value}";
            db      = new DataBase(currentDB);
            command = new MySqlCommand(query, db.GetConnection());
            db.OpenConnection();
            reader = command.ExecuteReader();

            try
            {
                DataRow row;
                row = dataTable.NewRow();
                if (reader.HasRows != false)
                {
                    while (reader.Read())
                    {
                        for (int i = 0; i < dataTable.Columns.Count; i++)
                        {
                            row[$"{dataTable.Columns[i].ColumnName}"] = reader.GetValue(i);
                        }
                    }

                    dataTable.Rows.Add(row);
                    Optional_table.DataSource = dataTable;
                    reader.Close();
                    db.CloseConnection();
                    if (func == "delete")
                    {
                        delete_step++;
                    }
                    else
                    {
                        update_step++;
                    }
                    InputKeyHide();
                    MessageBox.Show("Выбрана следующая запись, для продолжения нажмите Далее");
                }
                else
                {
                    MessageBox.Show("Запись не найдена");
                    if (func == "delete")
                    {
                        delete_step = 0;
                    }
                    else
                    {
                        update_step = 0;
                    }
                }
            }
            catch
            {
                MessageBox.Show("Ой! Что-то пошло не так!");
            }
        }
        private void Insert()
        {
            //char kavichka = '"';
            string       query   = $"SELECT attribute.Attribute_Name, attribute.Is_Key FROM `attribute` INNER JOIN `table` ON (`attribute`.Table_ID = `table`.Table_ID) WHERE `table`.Name = \"{get_table.Text}\"";
            DataBase     db      = new DataBase("prime_db");
            MySqlCommand command = new MySqlCommand(query, db.GetConnection());

            db.OpenConnection();
            MySqlDataReader reader = command.ExecuteReader();

            attr_name = "";

            while (reader.Read())
            {
                attr_name += "`" + reader.GetValue(0).ToString() + "`,";
            }
            attr_name = attr_name.Trim(',');
            db.CloseConnection();
            db = new DataBase(currentDB);

            try
            {
                db.OpenConnection();
                string   values = "";
                string   temp;
                string   temp2;
                string[] data = new string[2];
                for (int i = 0; i < Optional_table.Columns.Count; i++)
                {
                    temp = Optional_table.Rows[0].Cells[i].Value.ToString();
                    if (dataTable.Columns[i].DataType.ToString() == "System.DateTime")
                    {//values += $"\"{DateTime.Parse(temp).ToString("d")}\",";
                        temp    = $"{temp.Substring(0, 10)}";
                        data    = temp.Split('.');
                        temp2   = data[2];
                        data[2] = data[0];
                        data[0] = temp2;
                        temp    = $"\"{data[0]}.{data[1]}.{data[2]}\"";
                    }
                    if (dataTable.Columns[i].DataType.ToString() == "System.String")
                    {
                        temp = $"\"{temp}\"";
                    }
                    values += $"{temp},";
                }
                values  = values.Trim(',');
                query   = $"INSERT INTO `{get_table.Text}` ({attr_name}) VALUES ({values});";
                command = new MySqlCommand(query, db.GetConnection());

                if (command.ExecuteNonQuery() == 1)
                {
                    MessageBox.Show("Запись успешно добавлена");
                    dataGridView.DataSource = GetTable(db, get_table.Text);
                    dataTable.Rows.Clear();
                    AddDefaultRow();
                }
                else
                {
                    MessageBox.Show("Ой! Что-то пошло не так!");
                }
                db.CloseConnection();
            }
            catch (MySqlException)
            {
                MessageBox.Show("Данное значение ключевого атрибута уже существует в таблице. Введите уникальное значение.");
            }
            catch (Exception ex)
            {
                MessageBox.Show("ERROR:" + ex.Message);
            }
        }