예제 #1
0
 private void RenameTableButton_Click(object sender, EventArgs e)
 {
     if (DatabasesTree.SelectedNode != null &&
         DatabasesTree.SelectedNode.Level == 1)
     {
         try
         {
             DatabaseCreationForm tableRenameForm = new DatabaseCreationForm();
             if (DatabasesTree.Nodes.Count != 0)
             {
                 foreach (TreeNode treeviewNodes in DatabasesTree.Nodes)
                 {
                     _nodes.Add(treeviewNodes.Text);
                 }
             }
             tableRenameForm.SetNodes(_nodes);
             tableRenameForm.SetTextboxValue(DatabasesTree.SelectedNode.Text);
             tableRenameForm.Show();
             tableRenameForm.Text             = @"Переименновать таблицу";
             tableRenameForm.dbNameLabel.Text = @"Введите новое название таблицы";
             tableRenameForm.FormClosing     += (obj, args) =>
             {
                 if (tableRenameForm.InputText == string.Empty)
                 {
                     return;
                 }
                 try
                 {
                     Database parentDatabase = _app.GetDatabaseByName(DatabasesTree.SelectedNode.Parent.Text);
                     Table    selectedTable  = _app.GetTableByName(parentDatabase, DatabasesTree.SelectedNode.Text);
                     _app.RenameTable(selectedTable, tableRenameForm.InputText);
                     showDatabases();
                 }
                 catch (ArgumentException exception)
                 {
                     MessageBox.Show(exception.Message);
                 }
             };
         }
         catch (NullReferenceException exception)
         {
             MessageBox.Show(@"Нулевая ссылка: " + exception.Message);
         }
     }
     else
     {
         MessageBox.Show(@"Выберите таблицу для переименования!");
     }
 }
예제 #2
0
        private void CreateTable_Click(object sender, EventArgs e)
        {
            if (DatabasesTree.SelectedNode != null && DatabasesTree.SelectedNode.Level == 0)
            {
                _nodes.Clear();
                DatabaseCreationForm tableForm = new DatabaseCreationForm();
                if (DatabasesTree.Nodes.Count != 0)
                {
                    TreeNode treeviewNodes = DatabasesTree.SelectedNode != null && DatabasesTree.SelectedNode.Level == 0
                        ? DatabasesTree.SelectedNode
                        : DatabasesTree.TopNode;
                    foreach (TreeNode node in treeviewNodes.Nodes)
                    {
                        _nodes.Add(node.Text);
                    }
                }

                tableForm.SetNodes(_nodes);
                tableForm.Show();
                tableForm.Text             = @"Таблица";
                tableForm.dbNameLabel.Text = @"Введите название таблицы";
                tableForm.FormClosing     += (obj, args) =>
                {
                    TreeNode newNode = new TreeNode();

                    if (tableForm.InputText == string.Empty)
                    {
                        return;
                    }

                    Database database = _app.GetDatabaseByName(DatabasesTree.SelectedNode.Text);
                    try
                    {
                        _app.AddTable(database, tableForm.InputText);
                    }
                    catch (ArgumentException exception)
                    {
                        MessageBox.Show(exception.Message);
                    }

                    showDatabases();
                };
            }
            else
            {
                MessageBox.Show(@"Выберите базу данных!");
            }
        }
예제 #3
0
        private void CreateDatabase_Click(object sender, EventArgs e)
        {
            _nodes.Clear();
            DatabaseCreationForm databaseForm = new DatabaseCreationForm();

            if (DatabasesTree.Nodes.Count != 0)
            {
                foreach (TreeNode treeviewNodes in DatabasesTree.Nodes)
                {
                    _nodes.Add(treeviewNodes.Text);
                }
            }

            databaseForm.SetNodes(_nodes);
            databaseForm.Show();
            databaseForm.Text             = @"База данных";
            databaseForm.dbNameLabel.Text = @"Введите название базы данных";
            databaseForm.FormClosing     += (obj, args) =>
            {
                TreeNode newNode = new TreeNode();

                if (databaseForm.InputText == string.Empty)
                {
                    return;
                }

                try
                {
                    _app.CreateDatabase(databaseForm.InputText);
                    showDatabases();
                }
                catch (ArgumentException exception)
                {
                    MessageBox.Show(exception.Message);
                }
            };
        }
예제 #4
0
        private void RenameAttributeButton_Click(object sender, EventArgs e)
        {
            if (DatabasesTree.SelectedNode != null &&
                DatabasesTree.SelectedNode.Level == 2)
            {
                try
                {
                    DatabaseCreationForm renameAttributeForm = new DatabaseCreationForm();
                    if (DatabasesTree.Nodes.Count != 0)
                    {
                        foreach (TreeNode treeviewNodes in DatabasesTree.Nodes)
                        {
                            _nodes.Add(treeviewNodes.Text);
                        }
                    }
                    renameAttributeForm.SetNodes(_nodes);
                    renameAttributeForm.SetTextboxValue(DatabasesTree.SelectedNode.Text);
                    renameAttributeForm.Text             = @"Переименновать атрибут";
                    renameAttributeForm.dbNameLabel.Text = @"Введите новое название атрибута";
                    Database  parentDatabase    = _app.GetDatabaseByName(DatabasesTree.SelectedNode.Parent.Parent.Text);
                    Table     parentTable       = _app.GetTableByName(parentDatabase, DatabasesTree.SelectedNode.Parent.Text);
                    Attribute selectedAttribute =
                        _app.GetAttributeByName(parentTable, DatabasesTree.SelectedNode.Text);

                    if (!selectedAttribute.IsPrimaryKey && !(selectedAttribute is ForeignKey))
                    {
                        renameAttributeForm.Show();
                    }
                    else
                    {
                        MessageBox.Show(@"Нельзя переименовать уникальный идентификатор!");
                    }

                    renameAttributeForm.FormClosing += (obj, args) =>
                    {
                        if (renameAttributeForm.InputText == string.Empty)
                        {
                            return;
                        }
                        try
                        {
                            if (!selectedAttribute.IsPrimaryKey && !(selectedAttribute is ForeignKey))
                            {
                                _app.RenameAttribute(selectedAttribute, renameAttributeForm.InputText);
                                showDatabases();
                            }
                            else
                            {
                                MessageBox.Show(@"Нельзя переименовать уникальный идентификатор!");
                            }
                        }
                        catch (ArgumentException exception)
                        {
                            MessageBox.Show(exception.Message);
                        }
                    };
                }
                catch (NullReferenceException exception)
                {
                    MessageBox.Show(@"Нулевая ссылка: " + exception.Message);
                }
            }
            else
            {
                MessageBox.Show(@"Выберите таблицу для переименования!");
            }
            #endregion RenameAttributeButton
            // проверить уделение связей, изменить ренейминг ID
        }