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

Что такое WPF?

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

Что такое MS SQL Server?

Система управления реляционными базами данных (РСУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов - Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка.

Как подключиться к Базе Данных MS SQL Server?

Для того, чтобы осуществить подключение к базе данных MS SQL в WPF приложении, нужно создать базу данных (БД) и таблицы. Для начала стоит открыть приложение Microsoft SQL Server Management Studio 2017 или более раннюю версию, и произвести соединение с SQL сервером.

SQL - Запуск SQL Server

Далее правой кнопкой мыши (ПКМ) нужно щёлкнуть по «Базы данных» и выбрать пункт «Создать базу данных».

SQL - Настройка базы данных

Указать название базы данных — TEST и нажать «ОК». База данных создана, теперь следует добавить таблицу. Для этого нужно открыть иерархию в «Обозреватель объектов», и на пункте «Таблицы» нажать ПКМ, выбрав «Создать» - «Таблица».

SQL - Создание таблицы

Далее следует ввести название полей и тип данных как указано на рисунке 4 и нажать комбинацию клавиш Ctrl+S или иконку сохранения в панели инструментов.

SQL - Создание полей

После завершения возникнет окно, с просьбой указать имя таблицы, её следует назвать «users». После нужно обновить «Обозреватель объектов» и можно увидеть, что данная таблица появилась в иерархии: «Название сервера» - «Базы данных» - «TEST» - «Таблицы» - «dbo.users». Далее нужно нажать по таблице и выбрать пункт «изменить первые 200 строк». Откроется пустая таблица.

SQL - Добавление строк

Добавляем запись щёлкая в нужные ячейки таблицы ЛКМ:

  • login – student
  • password – asdfg123

SQL - Вставленные строки

Теперь нужно перейти к приложению WPF и у главной формы (MainWindow.xaml.cs) прописать следующую функцию:

public DataTable Select(string selectSQL) // функция подключения к базе данных и обработка запросов
{
    DataTable dataTable = new DataTable("dataBase");                // создаём таблицу в приложении
                                                                    // подключаемся к базе данных
    SqlConnection sqlConnection = new SqlConnection("server=DESKTOP-NBH5JF2;Trusted_Connection=Yes;DataBase=TEST;"); 
    sqlConnection.Open();                                           // открываем базу данных
    SqlCommand sqlCommand = sqlConnection.CreateCommand();          // создаём команду
    sqlCommand.CommandText = selectSQL;                             // присваиваем команде текст
    SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand); // создаём обработчик
    sqlDataAdapter.Fill(dataTable);                                 // возращаем таблицу с результатом
    return dataTable;
}

 

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

SQL - Быстрые действия

SQL - Добавление библиотеки

Так же следует сделать и с SqlConnection, добавляя библиотеку System.Data.SqlClient.

В итоге должно появиться две библиотеки:

  • using System.Data;
  • using System.Data.SqlClient;

Разбор строки подключения к базе данных:

server=DESKTOP-NBH5JF2;Trusted_Connection=Yes;DataBase=TEST;

  • server – здесь указывается имя сервера, которое было представлено на рисунке 1. (В моём случае, это DESKTOP-NBH5JF2);
  • DataBase — название базы данных к которой происходит подключение;
  • Trusted_Connection – безопасное подключение, используется только в тех случаях если сервер установлен локально и при подключении происходит проверка подлинности Windows;

Кроме трёх стандартных свойств подключения, так же могут понадобиться такие атрибуты как User и PWD, если сервер будет на удалённой машине. В таком случае строка подключения будет выглядеть следующим образом:

SqlConnection sqlConnection = new SqlConnection("server=IP;Trusted_Connection=No;DataBase=TEST;User=*****;PWD=***");

 

где вместо звёздочек используется ваш логин и пароль, а вместо IP – IP сервера.

После того как ошибки исчезли и приложение запускается, стоит научиться пользоваться данной функцией. Для этого после инициализации компонентов нужно прописать код:

DataTable dt_user = Select("SELECT * FROM [dbo].[users]"); // получаем данные из таблицы

for(int i = 0; i < dt_user.Rows.Count; i ++) { // перебираем данные
    MessageBox.Show(dt_user.Rows[i][0] + "|" + dt_user.Rows[i][1]); // выводим данные
}

 

Первой строкой выполняется подключение к базе данных и передаётся запрос, после чего обрабатывается ответ и возвращается обратно. Далее цикл, для перебора строк, поскольку dt_user.Rows представляет собой таблицу где есть строки и столбцы.  MessageBox.Show отвечает за вывод окна в котором располагается текст.

dt_user.Rows[i][0] — 1 столбец с логином

dt_user.Rows[i][1] — 2 столбец с паролем

Запустив программу можно увидеть, что данный код работает:

SQL - Работа программы

Код программы:

SQL - Код программы

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

Автор статьи: Александр Каримов.

3.89/5 (22)

Оцените