// Обработчик нажатия на пункт меню Переименовать private void RenameDbMenu_Click(object sender, EventArgs e) { string OldDbName; using (DbListForm dblistwindow = new DbListForm("db")) { dblistwindow.Text = "Переименовать базу данных"; dblistwindow.ShowDialog(); OldDbName = dblistwindow.ChosenDbName; } string NewDbName; using (DbNameForm dbnamewindow = new DbNameForm()) { dbnamewindow.Text = "Переименовать базу данных"; dbnamewindow.NameBox.Text = "Введите новое имя для базы данных"; dbnamewindow.ShowDialog(); NewDbName = dbnamewindow.NameBox.Text; } // Если выбрана БД и задано новое имя if ((NewDbName != "NULL") && (NewDbName != null) && (NewDbName != "Введите новое имя для базы данных") && (NewDbName.Length > 0) && (OldDbName != null) && (OldDbName != "NULL")) { try { File.Move(Uchet.Properties.Settings.Default.dbDir + OldDbName, Uchet.Properties.Settings.Default.dbDir + NewDbName +".s3db"); } catch (Exception exeption) { MessageBox.Show(exeption.Message, "Ошибка!"); } } // Если нажата кнопка выбрать, но не задано имя БД if (OldDbName == null) { MessageBox.Show("Не выбрана База Данных", "Ошибка!"); return; } // Если имя БД не задано if ((NewDbName == null) || (NewDbName == "Введите новое имя для базы данных") || (NewDbName.Length == 0)) { MessageBox.Show("Не указано имя новой базы данных", "Ошибка!"); } }
// Обработчик нажатия на пункт меню Создать private async void CreateMenu_Click(object sender, EventArgs e) { string DbName; using (DbNameForm dbnamewindow = new DbNameForm()) { dbnamewindow.Text = "Создать базу данных"; dbnamewindow.NameBox.Text = "Введите имя новой базы данных"; dbnamewindow.ShowDialog(); DbName = dbnamewindow.NameBox.Text; } try { // Если имя БД задано if ((DbName != "NULL") && (DbName != null) && (DbName != "Введите имя новой базы данных") && (DbName.Length > 0)) { DbName = DbName + ".s3db"; File.Copy(Uchet.Properties.Settings.Default.dbTemplate, Uchet.Properties.Settings.Default.dbDir + DbName); // Меняем контролы MainForm this.CreateMenu.Enabled = false; this.OpenMenu.Enabled = false; this.BackupMenu.Enabled = false; this.RenameDbMenu.Enabled = false; this.ExportMenu.Enabled = false; this.ImportMenu.Enabled = false; this.DeleteMenu.Enabled = false; // Асинхронно if (await this.DbConnectAsync(DbName)) { this.Text = "Учет выработки рабочих" + "(открытая база данных: " + DbName + ")"; this.SaveMenu.Enabled = true; this.BuildTableMenu.Enabled = true; this.CloseTableMenu.Enabled = true; this.SearchBox.Visible = true; this.Search.Visible = true; this.ClearSearch.Visible = true; this.TabField.Visible = true; } else { gearCountEntityBindingSource.DataSource = null; gearPriceEntityBindingSource.DataSource = null; gearSumEntityBindingSource.DataSource = null; this.Table1.Update(); this.Table2.Update(); this.Table3.Update(); this.Text = "Uchet - Учет выработки рабочих"; this.CreateMenu.Enabled = true; this.OpenMenu.Enabled = true; this.SaveMenu.Enabled = false; this.BackupMenu.Enabled = true; this.RenameDbMenu.Enabled = true; this.ExportMenu.Enabled = true; this.ImportMenu.Enabled = true; this.DeleteMenu.Enabled = true; } } else if (DbName != "NULL") MessageBox.Show("Не указано имя базы данных", "Ошибка!"); } catch (Exception exeption) { MessageBox.Show(exeption.Message, "Ошибка!"); } }