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(); }
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(); }