Exemplo n.º 1
0
 public ClassSqlServerDatabase(string n, string dsn, ClassServer s)
 {
     Name = n;
     Dsn = dsn;
     LstTable = new List<ClassTable>();
     Server=s;
 }
Exemplo n.º 2
0
        /*--------------------------------------------------------------------*/

        /* УДАЛИТЬ ПАПКУ -----------------------------------------------------*/
        void DeleteFolder()         // удалить папку
        {
            if (ClassConfig.Rapid_Client_UserRight == "admin")
            {
                if (listView1.SelectedIndices.Count > 0)                 // проверка выбранного элемента
                {
                    if (listView1.Items[listView1.SelectedIndices[0]].SubItems[2].Text.ToString() == "Папка" && listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString() != "..")
                    {
                        if (listView1.SelectedItems[0].StateImageIndex == 0)
                        {
                            // Установка отметки удаления
                            String _folder = listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString();
                            if (MessageBox.Show("Пометить папку '" + _folder + "' и все её элементы на удаление?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                MsSQLShort SQLCommand = new MsSQLShort();
                                SQLCommand.SqlCommand = "UPDATE firms SET firm_delete = 1 WHERE (firm_name = '" + _folder + "' OR firm_folder = '" + _folder + "')";
                                if (SQLCommand.ExecuteNonQuery())
                                {
                                    ClassForms.Rapid_Client.MessageConsole("Фирмы: Успешное удаление папки '" + _folder + "' и её содержимое.", false);
                                    // ИСТОРИЯ: Запись в журнал истории обновлений
                                    ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Удаление папки", "");
                                }
                                else
                                {
                                    ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка удаления папки '" + _folder + "'.", true);
                                }
                            }
                        }
                        else
                        {
                            // Восстановление папки и всех элементов
                            String _folder = listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString();
                            if (MessageBox.Show("Восстановить папку '" + _folder + "' и все её элементы?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                MsSQLShort SQLCommand = new MsSQLShort();
                                SQLCommand.SqlCommand = "UPDATE firms SET firm_delete = 0 WHERE (firm_name = '" + _folder + "' OR firm_folder = '" + _folder + "')";
                                if (SQLCommand.ExecuteNonQuery())
                                {
                                    ClassForms.Rapid_Client.MessageConsole("Фирмы: Успешное восстановление папки '" + _folder + "' и её содержимое.", false);
                                    // ИСТОРИЯ: Запись в журнал истории обновлений
                                    ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Восстановление папки", "");
                                }
                                else
                                {
                                    ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка восстановление папки '" + _folder + "'.", true);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Извините но вы '" + ClassConfig.Rapid_Client_UserName + "' не обладаете достаточными правами для удаления.", "Сообщение");
                ClassForms.Rapid_Client.MessageConsole("Фирмы: у вас недостаточно прав для удаления.", false);
            }
        }
Exemplo n.º 3
0
        /* СОХРАНЕНИЕ: сохранение данных в таблицу */
        void SaveData()         // созранение данных
        {
            MsSQLShort SQlCommand = new MsSQLShort();

            if (this.Text == "Создать папку.")
            {
                SQlCommand.SqlCommand = "INSERT INTO firms (firm_name, firm_details, firm_address_phone, firm_trade_representative, firm_additionally, firm_type, firm_folder, firm_delete) VALUES ('" + textBox1.Text + "', '', '', '', '', 1, '', 0)";
                if (SQlCommand.ExecuteNonQuery())
                {
                    // ИСТОРИЯ: Запись в журнал истории обновлений
                    ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Создание новой папки.", "");
                    ClassForms.Rapid_Client.MessageConsole("Фирмы: создание новой папки.", false);
                    Close();
                }
                else
                {
                    ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при создании новой папки.", true);
                }
            }

            if (this.Text == "Изменить папку.")
            {
                SQlCommand.SqlCommand = "UPDATE firms SET firm_name = '" + textBox1.Text + "' WHERE (id_firm = " + ActionID + ")";
                if (SQlCommand.ExecuteNonQuery())
                {
                    // ОБНОВИТЬ ВЛОЖЕННЫЕ ЭЛЕМЕНТЫ В ДАННОЙ ПАПКЕ
                    MsSQLShort SQLCommandAllUpdate = new MsSQLShort();
                    SQLCommandAllUpdate.SqlCommand = "UPDATE firms SET firm_folder = '" + textBox1.Text + "' WHERE (firm_folder = '" + FolderName + "')";
                    if (SQLCommandAllUpdate.ExecuteNonQuery())
                    {
                        ClassForms.Rapid_Client.MessageConsole("Фирма: записи папки успешно перенесены.", false);
                    }
                    else
                    {
                        ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения переноса элементов в изменённую папки.", true);
                        MsSQLShort SQLCommandBack = new MsSQLShort();
                        SQLCommandBack.SqlCommand = "UPDATE firms SET firm_name = '" + FolderName + "' WHERE (id_firm = " + ActionID + ")";
                        if (!SQLCommandBack.ExecuteNonQuery())
                        {
                            ClassForms.Rapid_Client.MessageConsole("Фирмы: КРИТИЧНАЯ ОШИБКА: Папка восстановлению не подлежит.", true);
                        }
                    }
                    // ОБНОВЛЕНИЕ ЗАВЕРШЕНО ---------------------
                    // ИСТОРИЯ: Запись в журнал истории обновлений
                    ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Изменение имени папки", "");
                    ClassForms.Rapid_Client.MessageConsole("Фирма: папка №" + ActionID + " успешно изменена.", false);
                    Close();
                }
                else
                {
                    ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения изменения имени папки." + ActionID, true);
                }
            }
        }
Exemplo n.º 4
0
        public void LoadFromDb(string dsn, DbType type)
        {
            try {
                switch (type)
                {
                    case DbType.MySql:
                        _oDatabase = new ClassMySqlServer();
                        break;
                    case DbType.SqlServer:
                        _oDatabase = new ClassSqlServerServer();
                        break;
                }

                Text = dsn;

                _oDatabase.Dsn = dsn;

                _oDatabase.LoadFromDb();

                treeViewDB.Nodes.Clear();

                foreach (ClassDatabase oDb in _oDatabase)
                {
                    TreeNode tn = treeViewDB.Nodes.Add(oDb.Name);
                    tn.Tag = oDb;
                    oDb.LoadFromDb();
                    foreach (ClassTable oDt in oDb)
                    {
                        //tn.Nodes.Add(oDt.name + " (" + oDt.nbRow() + " lignes )");
                        TreeNode tt = tn.Nodes.Add(oDt.Name);
                        tt.Tag = oDt;
                        oDt.LoadFromDb();
                        foreach (ClassField oFd in oDt)
                        {
                            TreeNode tf = tt.Nodes.Add(oFd.Name);
                            tf.Tag = oFd;
                            if (oFd.Type != "") tf.Nodes.Add(oFd.Type);
                            if (oFd.NullAccepted != "") tf.Nodes.Add(oFd.NullAccepted);
                            if (oFd.IsKey != "") tf.Nodes.Add(oFd.IsKey);
                            if (oFd.Extra != "") tf.Nodes.Add(oFd.Extra);

                        }
                    }
                }
            }
            catch(Exception)
            {
                Close();
                throw;
            }
        }
Exemplo n.º 5
0
        /*--------------------------------------------------------------------*/

        /* УДАЛИТЬ ЗАПИСЬ ----------------------------------------------------*/
        void DeleteElement()         // Удалить запись
        {
            if (ClassConfig.Rapid_Client_UserRight == "admin")
            {
                if (listView1.SelectedIndices.Count > 0)                 // проверка выбранного элемента
                {
                    if (listView1.Items[listView1.SelectedIndices[0]].SubItems[2].Text.ToString() != "Папка" && listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString() != "..")
                    {
                        if (listView1.SelectedItems[0].StateImageIndex == 2)                         // не удалён
                        // Установка отметки удаления
                        {
                            if (MessageBox.Show("Пометить запись на удаление?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                MsSQLShort SQLCommand = new MsSQLShort();
                                SQLCommand.SqlCommand = "UPDATE firms SET firm_delete = 1 WHERE (id_firm = " + listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text.ToString() + ")";
                                if (SQLCommand.ExecuteNonQuery())
                                {
                                    // ИСТОРИЯ: Запись в журнал истории обновлений
                                    ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Удаление записи.", "");
                                    ClassForms.Rapid_Client.MessageConsole("Фирмы: успешное удаление записи.", false);
                                }
                                else
                                {
                                    ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при удалении записи.", true);
                                }
                            }
                        }
                        else                           // уже уданён
                                                       // Восстановление записи
                        {
                            if (MessageBox.Show("Восстановить запись?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                MsSQLShort SQLCommand = new MsSQLShort();
                                SQLCommand.SqlCommand = "UPDATE firms SET firm_delete = 0 WHERE (id_firm = " + listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text.ToString() + ")";
                                if (SQLCommand.ExecuteNonQuery())
                                {
                                    // ИСТОРИЯ: Запись в журнал истории обновлений
                                    ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Восстановление записи.", "");
                                    ClassForms.Rapid_Client.MessageConsole("Фирмы: успешное восстановление записи.", false);
                                }
                                else
                                {
                                    ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при восстановлении записи.", true);
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 6
0
        /*----------------------------------------------------------------*/

        /* СОХРАНЕНИЕ: сохранение данных в таблицу */
        void SaveData()         // созранение данных
        {
            MsSQLShort SQlCommand = new MsSQLShort();

            // При сохранении новой записи
            if (this.Text == "Новая запись.")
            {
                SQlCommand.SqlCommand = "INSERT INTO firms (firm_name, firm_details, firm_address_phone, firm_trade_representative, firm_additionally, firm_type, firm_folder, firm_delete) VALUES ('" + textBox1.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + textBox2.Text + "', '" + textBox5.Text + "', 0, '" + comboBox1.Text + "', 0)";
                if (SQlCommand.ExecuteNonQuery())
                {
                    // ИСТОРИЯ: Запись в журнал истории обновлений
                    ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Создание новой записи.", "");
                    ClassForms.Rapid_Client.MessageConsole("Фирмы: успешное создание новой записи.", false);
                    Close();
                }
                else
                {
                    ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при создании новой записи.", true);
                }
            }
            // При сохранении измененной записи
            if (this.Text == "Изменить запись.")
            {
                if (ClassConfig.Rapid_Client_UserRight == "admin")
                {
                    SQlCommand.SqlCommand = "UPDATE firms SET firm_name = '" + textBox1.Text + "', firm_details ='" + textBox3.Text + "', firm_address_phone = '" + textBox4.Text + "', firm_trade_representative = '" + textBox2.Text + "', firm_additionally = '" + textBox5.Text + "', firm_folder = '" + comboBox1.Text + "'  WHERE (id_firm = " + ActionID + ") ";
                    if (SQlCommand.ExecuteNonQuery())
                    {
                        // ИСТОРИЯ: Запись в журнал истории обновлений
                        ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Изменение записи.", "");
                        ClassForms.Rapid_Client.MessageConsole("Фирмы: успешное изменение записи.", false);
                        Close();
                    }
                    else
                    {
                        ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при изменении записи.", true);
                    }
                }
                else
                {
                    MessageBox.Show("Извините но вы '" + ClassConfig.Rapid_Client_UserName + "' не обладаете достаточными правами для ввода изменений.", "Сообщение");
                    ClassForms.Rapid_Client.MessageConsole("Фирмы: у вас недостаточно прав для ввода изменений.", false);
                }
            }
        }