Пример #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();
        }
Пример #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();
        }
        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();
        }
        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();
        }