Example #1
0
        private void  едактор_Добавить_Click(object sender, EventArgs e)
        {
            Универсальная_форма ед_форма = new Универсальная_форма("Добавление записи", Сетка.Columns);

            if (ед_форма.ShowDialog() == System.Windows.Forms.DialogResult.OK) //Если диалог заканчивается ОК то:

            {                                                                  //Создаются два динамически изменяемых массива "Поле" и "Значение" содержащих значения типа string :
                List <string> Поле     = new List <string>();
                List <string> Значение = new List <string>();

                for (int i = 0; i < Сетка.ColumnCount; i++)
                {
                    Поле.Add(string.Format("`{0}`", Сетка.Columns[i].Name));                                     //Заполнение массива "Поле"названиями полей текущей таблицы
                    Значение.Add(Преобразование_текста(ед_форма.ед_данных[i].Text, Сетка.Columns[i].ValueType)); // Заполнение массива Значения
                }
                string Запрос_на_добавление = String.Format("INSERT INTO `{0}` ({1}) VALUES ({2})", Выбранная_таблица, String.Join(", ", Поле.ToArray()), String.Join(", ", Значение.ToArray()));

                Команда.CommandText = Запрос_на_добавление;
                Команда.Connection  = Подключение_к_БД;

                Команда.ExecuteNonQuery();
                int Строка = Сетка.SelectedRows[0].Index;
                Загрузить_данные();
                Сетка.ClearSelection();
            }
            ед_форма.Dispose();
        }
Example #2
0
        private void  едактор_Редактировать_Click(object sender, EventArgs e)
        {
            Универсальная_форма ед_форма = new Универсальная_форма("Редактирование записи", Сетка.Columns, Сетка.SelectedRows[0]);

            if (ед_форма.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                //процедура редактирования записей
                List <string> set = new List <string>();
                List <string> where = new List <string>();

                for (int i = 0; i < Сетка.ColumnCount; i++)
                {
                    if (Сетка.SelectedRows[0].Cells[i].Value.ToString() != ед_форма.ед_данных[i].Text)
                    {
                        set.Add(String.Format("`{0}` = {1}", Сетка.Columns[i].Name, Преобразование_текста(ед_форма.ед_данных[i].Text, Сетка.Columns[i].ValueType)));
                    }
                    where.Add(Преобразование_текста(Сетка.Columns[i].Name, Сетка.SelectedRows[0].Cells[i].Value, Сетка.Columns[i].ValueType));
                }

                string Запрос = String.Format("UPDATE `{0}` SET {1} WHERE {2}", Выбранная_таблица, String.Join(", ", set.ToArray()), String.Join(" AND ", where.ToArray()));
                if (set.Count > 0)
                {
                    Команда.CommandText = Запрос;
                    Команда.Connection  = Подключение_к_БД;

                    Команда.ExecuteNonQuery();
                    int Строка = Сетка.SelectedRows[0].Index;
                    Загрузить_данные();
                    Сетка.ClearSelection();
                    Сетка.Rows[Строка].Selected = true;
                }
            }
            ед_форма.Dispose();
        }
Example #3
0
        private void  едактор_Удалить_Click(object sender, EventArgs e)
        {
            string окончание = "ей";

            if (Сетка.SelectedRows.Count % 10 == 1)//для чисел с окончанием на 1: 11 21 31...
            {
                окончание = "ь";
            }
            if ((Сетка.SelectedRows.Count % 10 >= 2 && Сетка.SelectedRows.Count % 10 <= 4))//для чисел с окончанием на (от 2 до 4): 12 22 32...13 23 33...14 24 34...
            {
                окончание = "и";
            }
            if ((Сетка.SelectedRows.Count >= 5) && (Сетка.SelectedRows.Count <= 20))
            {
                окончание = "ей";
            }
            if (MessageBox.Show(String.Format("Вы уверены что хотите удалить {0} запис{1}?", Сетка.SelectedRows.Count, окончание), "Внимание!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.OK)
            {
                //процедура удаления записей
                List <string> where = new List <string>();

                for (int i = 0; i < Сетка.ColumnCount; i++)
                {
                    where.Add(Преобразование_текста(Сетка.Columns[i].Name, Сетка.SelectedRows[0].Cells[i].Value, Сетка.Columns[i].ValueType));
                }

                string запрос = String.Format("DELETE FROM `{0}` WHERE {1}", Выбранная_таблица, String.Join(" AND ", where.ToArray()));

                Команда.CommandText = запрос;
                Команда.Connection  = Подключение_к_БД;

                Команда.ExecuteNonQuery();
                Загрузить_данные();
                Сетка.ClearSelection();
            }
        }