C# WPF: Регистрация пользователей — Урок 6

Подготовка к регистрации

Перед написанием кода регистрации необходимо добавить ссылку на контекст базы данных в файл MainWindow.cs. В верхней части файла создадим объект контекста:

AppDbContext db = new AppDbContext();

Это создаёт ссылку на класс AppDbContext, позволяющую взаимодействовать с базой данных. Обратите внимание на использование new для выделения памяти под объект.

Добавление пользователя в базу данных

Для добавления пользователя воспользуемся методом Add объекта базы данных. Процесс включает следующие шаги:

  1. Создание объекта пользователя: Создаём объект на основе класса модели User, передавая необходимые параметры (логин, email, пароль):

    User user = new User(login, email, password); 
  2. Добавление объекта в базу данных: Добавляем созданный объект в контекст базы данных:

    db.Users.Add(user);
  3. Сохранение изменений: Сохраняем изменения в базе данных:

    db.SaveChanges();

Важно: для корректной работы с базой данных убедитесь, что поля в классе модели User имеют модификатор доступа public. В противном случае, база данных не сможет получить к ним доступ.

Обработка ошибок

При тестировании регистрации могут возникнуть ошибки. Например, SqlException: The content of files not all constraints are filled. Это может быть вызвано:

  • Неправильно прописанными именами полей в коде, не соответствующими именам в таблице базы данных.
  • Отсутствием геттеров и сеттеров для полей в классе модели User.

Для решения второй проблемы необходимо создать геттеры и сеттеры для каждого поля. Пример для поля Login:

public string Login
{
    get { return login; }
    set { login = value; }
}

Аналогично создайте геттеры и сеттеры для полей Email и Password.

Проверка регистрации

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

В MainWindow.cs, в конструкторе, добавьте следующий код:

List<User> users = db.Users.ToList();
string str = "";
foreach (User user in users)
{
    str += user.Login + " - ";
}
exampleText.Text = str; 

Этот код получает все записи из таблицы Users, извлекает логины пользователей и выводит их в текстовое поле с именем exampleText. Разделитель между логинами — » — «.

В этом уроке мы реализовали регистрацию пользователей в приложении с использованием C# WPF и базы данных SQLite. В следующих уроках рассмотрим авторизацию пользователей и подробнее изучим работу с базами данных.

Что будем искать? Например,программа