Практическая работа: Изучение технологии C# Windows Forms и подготовка приложения по учету

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

приложение учет данные

using MySql.Data.MySqlClient;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ExampleSQLApp

{

internal class DB

{

MySqlConnection connection = new MySqlConnection("server=localhost; port=3306; username=root;password=root;database=tasks");

public void openConnection()

{

if(connection.State == System.Data.ConnectionState.Closed)

{

connection.Open();

}

}

public void closeConnection()

{

if (connection.State == System.Data.ConnectionState.Open)

{

connection.Close();

}

}

public MySqlConnection getConnection()

{

return connection;

}

}

}

Следующий код, приведенный ниже отражает уже связь между интерфейсом и базой данных. В созданном приложении существуют кнопки для отправки и сохранения новых записей в базу данных. Это реализовано в формах регистрации, добавления информации о заказах, для авторизации, когда нужно проверить, что пользователь уже есть в базе данных. В коде был инициализирован класс db для связи его с предыдущим классом, описанным выше. Далее был написан специальный sql-запрос, который отражает действие, производимое с базой данных. В данном случае это запрос вставки(Insert Into … Values …). Вместо настоящих данных, первым делом записываются так называемые «заглушки», чтобы потом заменить их данными, полученными через интерфейс и поля ввода.

private void button1_Click(object sender, EventArgs e)

{

if (isUserExists())

return;

Udb db= new Udb();

MySqlCommand command = new MySqlCommand("INSERT INTO `user` (`id`, `login`, `password`) VALUES (NULL, @login, @password);",db.getConnection());

command.Parameters.Add("@login",MySqlDbType.VarChar).Value = loginField.Text;

command.Parameters.Add("@password", MySqlDbType.VarChar).Value = passField.Text;

db.openConnection();

if (command.ExecuteNonQuery() == 1)

{

this.Hide();

Form4 form4 = new Form4();

form4.Show();

}

else

{

MessageBox.Show("Ошибка, аккаунт не был создан.");

}

db.closeConnection();

}

Если вставка произошла успешно, появится новая запись в базе данных, если же нет-выведется сообщение "Ошибка, аккаунт не был создан".

Следующая важная функция кода - это проверка пользователя на его существование в базе данных. В этом коде также присутствует sql запрос, но он уже является запросом выборки элементов, соответствующих условию(Select … From … Where). Происходит сравнение введенного логина со всеми логинами таблицы users, если находится совпадение-пользователю предлагается ввести новый логин.

public Boolean isUserExists()

{

Udb db = new Udb();

DataTable table = new DataTable();

MySqlDataAdapter adapter = new MySqlDataAdapter();

MySqlCommand command = new MySqlCommand("SELECT * FROM `user` WHERE `login`= @uL AND `password`= @uP", db.getConnection());

command.Parameters.Add("@uL", MySqlDbType.VarChar).Value = loginField.Text;

adapter.SelectCommand = command;

adapter.Fill(table);

if (table.Rows.Count > 0)

{

MessageBox.Show("Логин уже существует, введите другой.");

return true;

}

else

{

return false;

}}

ЗАКЛЮЧЕНИЕ

В ходе выполнения практического проекта по изучению технологии C# Windows Forms и созданию приложения по учету были достигнуты следующие результаты и выводы.

Исследование и практическая реализация проекта позволили углубленно изучить технологию C# Windows Forms. Новые знания в области создания графического пользовательского интерфейса, обработки событий и взаимодействия с базой данных сделались ключевыми компетенциями в процессе выполнения задачи.

Разработанное приложение по учету успешно соответствует поставленным требованиям и целям проекта. Внедрение функциональности по добавлению, редактированию и удалению данных, а также использование базы данных для хранения информации, значительно улучшили эффективность учетных процессов.

В ходе работы над проектом были использованы передовые методы программирования, такие как объектно-ориентированное программирование (ООП), шаблоны проектирования и обработка исключений. Это не только улучшило структуру и читаемость кода, но и способствовало повышению его надежности.

Работа с базой данных в проекте предоставила ценный опыт в проектировании и управлении данными. Эффективное использование базы данных способствует сохранению и обработке информации, что является неотъемлемой частью разработки приложений.

Приложение по учету является прототипом, и его дальнейшее развитие может включать в себя добавление новых функциональных возможностей, улучшение интерфейса, оптимизацию кода, а также адаптацию под изменяющиеся требования бизнес-процессов.

ПРИЛОЖЕНИЕ

1. Стартовое окно приложения

2. Окно регистрации

3. Окно добавление новой записи в БД

4. Окно авторизации

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. MICROSOFT LEARN: Создание приложения Windows Forms на C# в Visual Studio[цитирован 09.09.23]

Режим доступа: https://learn.microsoft.com/ru-ru/visualstudio/ide/create-csharp-winform-visual-studio?view=vs-2022

2. METANIT: Первое приложение в Visual Studio [цитирован 11.09.23] Режим доступа: https://metanit.com/sharp/windowsforms/1.1.php

3. IT-BLACK: Работа с базой данных в C# [цитирован 19.09.23] Режим доступа: https://it-black.ru/rabota-s-bazoj-dannyh-v-ci_sharp/

4. HABR: Лучшие практики обработки исключений в C# [цитирован 22.09.23] Режим доступа: https://habr.com/ru/companies/otus/articles/552224/

5. C# 10 и.NET 6. Современная кросс-платформенная разработка | Прайс Марк, 2023