приложение учет данные
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