Exemple #1
0
        private void Tables_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataTable columns = MySQLConnection.GetColumnsInTable(Tables.SelectedItem.ToString());

            //загружает предметы в списки и обновляет текст в зависимости от выбранной таблицы
            ViewFields.Items.Clear();
            ViewConditionFields.Items.Clear();
            ModifyFields.Items.Clear();
            ModifyConditionFields.Items.Clear();
            DeleteConditionFields.Items.Clear();
            FormatLabel.Text = "Введите добавляемые данные ниже в данном формате (обратите внимание, разделителем между полями является ';'):\n";

            for (int i = 0; i < columns.Rows.Count; i++)
            {
                collection.Add(columns.Rows[i].ItemArray[0].ToString());
                ViewFields.Items.Add(columns.Rows[i].ItemArray[0].ToString());
                ViewConditionFields.Items.Add(columns.Rows[i].ItemArray[0].ToString());
                ModifyFields.Items.Add(columns.Rows[i].ItemArray[0].ToString());
                ModifyConditionFields.Items.Add(columns.Rows[i].ItemArray[0].ToString());
                DeleteConditionFields.Items.Add(columns.Rows[i].ItemArray[0].ToString());
                if (columns.Rows[i].ItemArray[2].ToString() == "auto_increment")
                {
                    continue;
                }
                FormatLabel.Text += columns.Rows[i].ItemArray[0].ToString();
                FormatLabel.Text += " - ";
                FormatLabel.Text += columns.Rows[i].ItemArray[1].ToString();
                FormatLabel.Text += "; ";
            }
            //добавляет элементы в автодополнение
            ViewConditionFields.AutoCompleteCustomSource   = collection;
            ModifyConditionFields.AutoCompleteCustomSource = collection;
            DeleteConditionFields.AutoCompleteCustomSource = collection;

            FormatLabel.Text = FormatLabel.Text.Replace("varchar;", "строка;");
            FormatLabel.Text = FormatLabel.Text.Replace("tinytext;", "строка;");
            FormatLabel.Text = FormatLabel.Text.Replace("mediumtext;", "строка;");
            FormatLabel.Text = FormatLabel.Text.Replace("largetext;", "строка;");
            FormatLabel.Text = FormatLabel.Text.Replace("text;", "строка;");
            FormatLabel.Text = FormatLabel.Text.Replace("tinyint;", "целое число;");
            FormatLabel.Text = FormatLabel.Text.Replace("smallint;", "целое число;");
            FormatLabel.Text = FormatLabel.Text.Replace("mediumint;", "целое число;");
            FormatLabel.Text = FormatLabel.Text.Replace("bigint;", "целое число;");
            FormatLabel.Text = FormatLabel.Text.Replace("int;", "целое число;");
            FormatLabel.Text = FormatLabel.Text.Replace("double;", "число с точкой;");
            FormatLabel.Text = FormatLabel.Text.Replace("float;", "число с точкой;");
            FormatLabel.Text = FormatLabel.Text.Replace("date;", "дата (в формате ДД.ММ.ГГГГ);");
            FormatLabel.Text = FormatLabel.Text.Remove(FormatLabel.Text.Length - 2);
        }
Exemple #2
0
 private void SignInButton_Click(object sender, EventArgs e)
 {
     try
     {
         MySQLConnection.Connect(LoginTextBox.Text, PasswordTextBox.Text, DBNameTextBox.Text);
         DataShowForm DSF = new DataShowForm(this, DBNameTextBox.Text);
         DSF.Show();
         Hide();
     }
     catch (MySqlException MSQLEx)
     {
         if (MSQLEx.Message.Contains("denied"))
         {
             MessageBox.Show("Пользователь с указанными логином и паролем не зарегестрирован в системе", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly, false);
         }
         else
         {
             MessageBox.Show("Указанной базы данных не существует", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly, false);
         }
     }
 }
Exemple #3
0
        private void MissingChangeButton_Click(object sender, EventArgs e)
        {
            //генерация отчета о замене по причине утраты
            string CurrentTime = DateTime.Now.ToString().Replace(':', '-');
            string path        = Application.StartupPath + "\\Missing Items Docs " + CurrentTime.Remove(CurrentTime.Length - 3) + ".txt";

            if (!File.Exists(path))
            {
                try
                {
                    //запись полученых результатов в файл
                    string[]     items = MySQLConnection.GetMisItems().Split(',');
                    StreamWriter sw    = new StreamWriter(path, true);
                    sw.WriteLine("Предметы, перечисленные ниже, были утеряны:");
                    sw.Write(MySQLConnection.GetMisItems() + ". Всего " + items.Length.ToString() + " предметов.");
                    sw.Flush();
                    sw.Close();
                    MessageBox.Show("Файл с отчетом успешно записан", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    //открытие полученного файла
                    Process.Start("C:\\Windows\\System32\\notepad.exe", path);
                }
                catch (Exception ex)
                {
                    if (ex is DirectoryNotFoundException | ex is NotSupportedException)
                    {
                        MessageBox.Show("Неправильно указано место записи файла", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    if (ex is UnauthorizedAccessException)
                    {
                        MessageBox.Show("Невозможно записать файл в данное место", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show("Такой файл уже существует, попробуйте позже", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Exemple #4
0
        private void OverAllButton_Click(object sender, EventArgs e)
        {
            //генерация отчета об общем количестве всех вещей разных типов
            string CurrentTime = DateTime.Now.ToString().Replace(':', '-');
            string path        = Application.StartupPath + "\\All Items Docs " + CurrentTime.Remove(CurrentTime.Length - 3) + ".txt";

            if (!File.Exists(path))
            {
                try
                {
                    //запись полученых результатов в файл
                    StreamWriter sw = new StreamWriter(path, true);
                    sw.WriteLine("Количество предметов по типам:");
                    sw.Write(MySQLConnection.GetAllItems());
                    sw.Flush();
                    sw.Close();
                    MessageBox.Show("Файл с отчетом успешно записан", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    //открытие полученного файла
                    Process.Start("C:\\Windows\\System32\\notepad.exe", path);
                }
                catch (Exception ex)
                {
                    if (ex is DirectoryNotFoundException | ex is NotSupportedException)
                    {
                        MessageBox.Show("Неправильно указано место записи файла", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    if (ex is UnauthorizedAccessException)
                    {
                        MessageBox.Show("Невозможно записать файл в данное место", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show("Такой файл уже существует, попробуйте позже", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Exemple #5
0
 private void ExitButton_Click(object sender, EventArgs e)
 {
     MySQLConnection.Close();
     Application.Exit();
 }
Exemple #6
0
        private void SaveButton_Click(object sender, EventArgs e)
        {
            switch (QueryCreateWindow.SelectedIndex)
            {
            case 0:
                //формирование команды просмотра записей
                TypeOfCommand = 0;
                command      += "select ";
                foreach (string column in ViewFields.CheckedItems)
                {
                    command += column;
                    command += ", ";
                }
                command  = command.Remove(command.Length - 2, 1);
                command += "from ";
                command += Tables.SelectedItem;
                if (ConditionSwitch.Checked)
                {
                    try
                    {
                        command += " where ";
                        if (ViewConditionFields.SelectedItem == null)
                        {
                            throw new ArgumentException("Пожалуйста, выберите поле для условия");
                        }
                        command += ViewConditionFields.SelectedItem;
                        switch (ViewConditions.SelectedItem)
                        {
                        case "= (равно)":
                            command += " = ";
                            break;

                        case "!= (не равно)":
                            command += " != ";
                            break;

                        case "> (больше)":
                            command += " > ";
                            break;

                        case ">= (больше или равно)":
                            command += " >= ";
                            break;

                        case "< (меньше)":
                            command += " < ";
                            break;

                        case "<= (меньше или равно)":
                            command += " <= ";
                            break;

                        default:
                            throw new ArgumentException("Пожалуйста, выберите условие");
                        }
                        if (ViewTextBox.Text == "")
                        {
                            throw new ArgumentException("Пожалуйста, введите значение для условия");
                        }
                        command += "\"";
                        command += ViewTextBox.Text;
                        command += "\"";
                    }
                    catch (ArgumentException AEX)
                    {
                        MessageBox.Show(AEX.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, false);
                        DSF.CreateQueryButton_Click(null, null);
                    }
                }
                break;

            case 1:
                //формирование команды добавления записей
                TypeOfCommand = 1;
                DataTable columns = MySQLConnection.GetColumnsInTable(Tables.SelectedItem.ToString());
                cmd.CommandText += "insert into ";
                cmd.CommandText += Tables.SelectedItem;
                cmd.CommandText += " (";
                for (int i = 0; i < columns.Rows.Count; i++)
                {
                    if (columns.Rows[i].ItemArray[2].ToString() == "auto_increment")
                    {
                        continue;
                    }
                    cmd.CommandText += columns.Rows[i].ItemArray[0].ToString();
                    cmd.CommandText += ", ";
                }
                cmd.CommandText  = cmd.CommandText.Remove(cmd.CommandText.Length - 2);
                cmd.CommandText += ") values (";
                string[] values  = ValuesTextBox.Text.Split(';');
                string   n_value = null;
                foreach (string value in values)
                {
                    n_value          = value.Trim(' ');
                    cmd.CommandText += "\"";
                    cmd.CommandText += n_value;
                    cmd.CommandText += "\", ";
                }
                cmd.CommandText  = cmd.CommandText.Remove(cmd.CommandText.Length - 2);
                cmd.CommandText += ")";
                break;

            case 2:
                //формирование команды изменения записей
                TypeOfCommand = 1;
                try
                {
                    cmd.CommandText += "update ";
                    cmd.CommandText += Tables.SelectedItem;
                    cmd.CommandText += " set ";
                    cmd.CommandText += ModifyFields.CheckedItems[0].ToString();
                    cmd.CommandText += " = ";
                    if (ModifyValueTextBox.Text == "")
                    {
                        throw new ArgumentException("Пожалуйста, введите значение для замены");
                    }
                    cmd.CommandText += "\"";
                    cmd.CommandText += ModifyValueTextBox.Text;
                    cmd.CommandText += "\"";
                    cmd.CommandText += " where ";
                    if (ModifyConditionFields.SelectedItem == null)
                    {
                        throw new ArgumentException("Пожалуйста, выберите поле для условия");
                    }
                    cmd.CommandText += ModifyConditionFields.SelectedItem;
                    switch (ModifyConditions.SelectedItem)
                    {
                    case "= (равно)":
                        cmd.CommandText += " = ";
                        break;

                    case "!= (не равно)":
                        cmd.CommandText += " != ";
                        break;

                    case "> (больше)":
                        cmd.CommandText += " > ";
                        break;

                    case ">= (больше или равно)":
                        cmd.CommandText += " >= ";
                        break;

                    case "< (меньше)":
                        cmd.CommandText += " < ";
                        break;

                    case "<= (меньше или равно)":
                        cmd.CommandText += " <= ";
                        break;

                    default:
                        throw new ArgumentException("Пожалуйста, выберите условие");
                    }
                    if (ModifyTextBox.Text == "")
                    {
                        throw new ArgumentException("Пожалуйста, введите значение для условия");
                    }
                    cmd.CommandText += "\"";
                    cmd.CommandText += ModifyTextBox.Text;
                    cmd.CommandText += "\"";
                }
                catch (ArgumentException AEX)
                {
                    MessageBox.Show(AEX.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, false);
                    DSF.CreateQueryButton_Click(null, null);
                }
                break;

            case 3:
                //формирование команды удаления записей
                TypeOfCommand = 1;
                try
                {
                    cmd.CommandText += "delete ";
                    cmd.CommandText += "from ";
                    cmd.CommandText += Tables.SelectedItem;
                    cmd.CommandText += " where ";
                    if (DeleteConditionFields.SelectedItem == null)
                    {
                        throw new ArgumentException("Пожалуйста, выберите поле для условия");
                    }
                    cmd.CommandText += DeleteConditionFields.SelectedItem;
                    switch (DeleteConditions.SelectedItem)
                    {
                    case "= (равно)":
                        cmd.CommandText += " = ";
                        break;

                    case "!= (не равно)":
                        cmd.CommandText += " != ";
                        break;

                    case "> (больше)":
                        cmd.CommandText += " > ";
                        break;

                    case ">= (больше или равно)":
                        cmd.CommandText += " >= ";
                        break;

                    case "< (меньше)":
                        cmd.CommandText += " < ";
                        break;

                    case "<= (меньше или равно)":
                        cmd.CommandText += " <= ";
                        break;

                    default:
                        throw new ArgumentException("Пожалуйста, выберите условие");
                    }
                    if (DeleteTextBox.Text == "")
                    {
                        throw new ArgumentException("Пожалуйста, введите значение для условия");
                    }
                    cmd.CommandText += "\"";
                    cmd.CommandText += DeleteTextBox.Text;
                    cmd.CommandText += "\"";
                }
                catch (ArgumentException AEX)
                {
                    MessageBox.Show(AEX.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, false);
                    DSF.CreateQueryButton_Click(null, null);
                }
                break;
            }
            Hide();
        }