WPF Подключение к базе данных MS Access

Всем доброго дня, сегодня в этой статье, я бы хотел рассказать вам о WPF и MS Access, а также их взаимодействии друг с другом. Мало кто знает, но MS Access довольно хорошо дружит с WPF, но для начала думаю стоит рассказать, что из себя представляет то и другое.

Windows Presentation Foundation — один из компонентов ядра .NET Framework, который позволяет разработчикам создавать богатые, различные Windows приложения.

Microsoft Office Access или просто Microsoft Access — реляционная система управления базами данных корпорации Microsoft. Входит в состав пакета Microsoft Office. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных.

MS Access 2016

Microsoft Access 2016

Создание базы данных и внутренних таблиц

Создаём БД и переходим к созданию и настройке таблиц, а именно переходим в режим конструктора, предварительно указав наименование базы данных.

Создание таблицы в MS Access

Создание таблицы в MS Access

В моей базе данных будет использоваться три столбца: Код - он же уникальный идентификатор, логин пользователя и пароль пользователя.

Результат создания таблицы в MS Access

Результат создания таблицы в MS Access

Внесём одну из записей с которой будем осуществлять работу.

Добавление записи в MS Access

Добавление записи в MS Access

На этом создание базы данных законченно.

Разработка приложения и подключение к БД

Переходим к приложению WPF и у главной формы (MainWindow.xaml.cs) прописываем функцию подключения к базе данных:

public string connection = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\student.SIGMA3\Documents\Visual Studio 2017\Projects\WpfApp1\WpfApp1.accdb"; // путь к базе данных

public OleDbDataReader Select(string selectSQL) // функция подключения к базе данных и обработка запросов
{
    OleDbConnection connect = new OleDbConnection(connection); // подключаемся к базе данных
    connect.Open(); // открываем базу данных

    OleDbCommand cmd = new OleDbCommand(selectSQL, connect); // создаём запрос
    OleDbDataReader reader = cmd.ExecuteReader(); // получаем данные

    return reader; // возвращаем
}
Создание функции для работы с MS Access

Создание функции для работы с MS Access

Важно отметить что весь текст у будет отмечен красным а при подключении будут возникать ошибки. Вся проблема в том, что нужно добавить несколько библиотек, которые позволяют работать с базой данных, для этого, нужно нажать ПКМ по подчёркнутому красной линией элементу и выбрать пункт «Быстрые действия и рефакторинг...», после из предложенных действий выбрать первый вариант который добавляет библиотеку: using System.Data.OleDb;

Подключение библиотек для работы с MS Access

Подключение библиотек для работы с MS Access

Переменная connection содержит в себе текстовую информацию, а именно: тип подключения, и путь подключения. На этом подключение к MS Access завершено, всё что нужно сделать: вызвать функцию в нужном вам месте и обработать запрос.

Выполнение запросов и обработка информации

Для того что бы работать с базой данных MS Access из приложения WPF необходимо знать четыре основных запроса на языке SQL:

  • SELECT (вывод данных из таблицы);
  • INSERT (вставить данные в таблицу);
  • UPDATE (обновить данные в таблице);
  • DESTROY (удалить данные из таблицы).

Важно помнить, что только SELECT возвращает данные, получить данные из других запросов не возможно.

Для того чтобы сделать запрос SELECT и обработать пришедшие данные, после инициализации компонентов вставляем следующий код:

OleDbDataReader read = Select("SELECT * FROM dt_user"); // запрашиваем данные
while (read.Read()) { // обрабатываем данные
                 MessageBox.Show("Код: " + read.GetValue(0) + " Логин: " + read.GetValue(1) + " Пароль: " + read.GetValue(2)); // выводим данные
}
Результат запроса SELECT

Результат запроса SELECT

Чтобы вставить новую запись, нужно использовать следующий код:

Select("INSERT INTO dt_user([Логин], [Пароль]) VALUES ('test2', 'test2')"); // вставляем строку в БД
Результат запроса INSERT

Результат запроса INSERT

Теперь нужно обновить пароль, изменив «test2» на «qwerty123». Для этого используется всё тот же метод, передающий SQL запрос.

Select("UPDATE dt_user SET [Пароль]='qwerty123' WHERE [Логин]='test2'");
Результат запроса UPDATE

Результат запроса UPDATE

Чтобы осуществить удаление записи из таблицы, используется следующий код:

Select("DELETE FROM dt_user WHERE [Пароль] = 'qwerty123';");
Результат запроса DELETE

Результат запроса DELETE

Таким образом можно выполнять запросы к базе данных MS SQL Server.

Так же вы можете использовать MS Access в качестве локальной базы данных, а MS SQL основной. Статьи по подключению и выполнению запросов в MS SQL можно найти на нашем сайте.

5/5 (1)

Оцените