示例#1
0
        // Обработчик нажатия на пункт меню Переименовать
        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("Не указано имя новой базы данных", "Ошибка!");                
            }                      
        }
示例#2
0
        // Обработчик нажатия на пункт меню Создать
        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, "Ошибка!");
            }                                  
        }