Обработка SQL запросов на языке C# - Студенческий научный форум

XIV Международная студенческая научная конференция Студенческий научный форум - 2022

Обработка SQL запросов на языке C#

Иванов Д.Д. 1, Мешков В.Е. 1
1ИТ (филиал) ДГТУ в г. Волгодонске
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

SQL - это язык структурированных запросов для управления базами данных. Позволяет выполнять операции с базой данных:

вставлять, обновлять или удалять записи в таблицах базы данных;

создавать новые базы данных, таблицы, представления;

извлекать данные из базы данных и т. д.

Язык программирования С# был разработан группой инженеров компании Microsoft, и является одним из самых популярных языков программирования. C# применяют при создании различного ПО для ПК, сложных веб-сервисов или создании ПО на мобильные устройства. С# уже много времени поддерживает много полезных функций, таких как:

инкапсуляция;

наследование;

полиморфизм;

перегрузка операторов;

статическая типизация.

Openserver – это приложение для создание локального сервера на вашем компьютере. Даёт возможность получить доступ к дополнительному приложению phpMyAdmin.

PhpMyAdmin – это веб-приложение для администрирование баз данных.

Для начала реализации запросов SQL на языке C# нам понадобится база данных SQL. Для создания базы данных нам понадобится локальный сервер. В своей проделанной работе мы использовали Openserver и использовали дополнительное приложение phpMyAdmin для создания базы данных.

Основная часть

Создаём базу данных:

1. Заходим в приложение phpMyAdmin и при помощи команды создаём БД.

Команда для создания БД: CREATE DATABASE student_db;

2. Создаём таблицу в нашей БД и затем её заполняем данными.

Командадлясозданиятаблицы:

CREATE TABLE student_table (

id INT NOT NULL AUTO_INCREMENT,

Code VARCHAR(10),

FirstName TEXT(30),

SecondName TEXT(30),

MiddleName TEXT(30),

GroupName TEXT(30),

PhoneNumber TEXT(30),

3. Добавляем поля в таблицу через команду

Пример с добавление двух полей:

INSERT INTO student_table (Code, LastName, FirstName, MiddleName, GroupName, PhoneNumber) VALUES ('001', 'Андреева', 'Анастасия', 'Викторовна', 'ЗИС51В', '7(988)431-40-10';

После всех проделанных пунктов у нас должно получиться таблица с заполненными данными как показано на рис. 1.

Рис. 1. Таблица с заполненными данными

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

Во вкладке User мы можем:

• отобразить всех студентов, которые есть в базе данных

• найти студента по фамилии

• Открыть вкладку Administrator

Во вкладке Administrator мы можем добавить нового студента или вернуться в главное окно

Рис. 2. Вкладка User

Рис. 3. Вкладка Administrator

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

Для первичной обработки SQL базы данных и выполняется следующий код:

using System;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace MySQL

{

public partial class Form1 : Form

{

private MySqlConnection _connection;

public Form1()

{

InitializeComponent();

_connection = OpenConnection("localhost", "student_bd", "root", "root");

}

private void LoadButton_Click(object sender, EventArgs e)

{

string sql = "SELECT * FROM student_table";

MySqlCommand command = new MySqlCommand(sql, _connection);

MySqlDataReader reader = command.ExecuteReader();

UpdateTable(UserTable, reader);

}

private void SearchButton_Click(object sender, EventArgs e)

{

string companyName = Convert.ToString(SearchField.Text);

string sql = $"SELECT * FROM student_table WHERE LastName = '{companyName}'";

MySqlCommand command = new MySqlCommand(sql, _connection);

MySqlDataReader reader = command.ExecuteReader();

UpdateTable(UserTable, reader);

}

private void AddButton_Click(object sender, EventArgs e)

{

int updatedRows = AdminTable.Rows.Count - 1;

for (int i = 0; i < updatedRows; i++)

{

var rowValues = new string[AdminTable.Columns.Count];

for (int j = 0; j < rowValues.Length; j++)

{

rowValues[j] = AdminTable.Rows[i].Cells[j].Value.ToString();

}

string sql = $"INSERT INTO student_table(Code, LastName, FirstName, MiddleName, GroupName, PhoneNumber) VALUES({rowValues[0]},'{rowValues[1]}','{rowValues[2]}','{rowValues[3]}','{rowValues[4]}','{rowValues[5]}')";

MySqlCommand command = new MySqlCommand(sql, _connection);

command.ExecuteNonQuery();

}

AdminTable.Rows.Clear();

}

private MySqlConnection OpenConnection(string serverName, string databaseName, string user, string password)

{

string connectionString = $"server={serverName};database={databaseName};user={user};password={password};";

MySqlConnection connection = new MySqlConnection(connectionString);

connection.Open();

return connection;

}

private void UpdateTable(DataGridView dataGridView, MySqlDataReader reader)

{

dataGridView.Rows.Clear();

int i = -1;

while (reader.Read())

{

dataGridView.Rows.Add();

i++;

for (int j = 0; j < reader.FieldCount; j++)

{

dataGridView.Rows[i].Cells[j].Value = Convert.ToString(reader[j]);

}

}

reader.Close();

}

~Form1()

{

_connection.Close();

}

private void AdminTable_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

}

}

После реализации программы нам необходимо проверить работоспособность программы:

1) проверяем работу поиска по фамилии:

Рис. 4. Результат зпроса поиска по фамилии

2) проверяем работу кнопки, которая выводит всех студентов:

Рис. 5. Результат зпроса вывода всех студентов

3) проверяем работу добавления студента:

Рис. 6. Запрос на добавление студента

Рис. 7. Результат добавления студента

ЗАКЛЮЧЕНИЕ

В проделанной работе мы разобрали основные запросы SQL при помощи языка C#. В процессе было разработано приложение, которое позволяет с легкостью обрабатывать базы данных.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Материал из Википедии — свободной энциклопедии. Высокоуровневый язык программирования // Википедия. 2020.

URL: https://ru.wikipedia.org/wiki/Высокоуровневый_язык_программирования

(дата обращения: 25.11.2021).

2. Гвоздева, В. А. Введение в специальность программиста: Учебник / В.А. Гвоздева. - 2-e изд., испр. и доп. - Москва : ИД ФОРУМ: НИЦ ИНФРА-М, 2015. - 208 с.

(дата обращения: 25.11.2021).

3. Гвоздева, В. А. Информатика, автоматизированные информационные технологии и системы: Учебник / Гвоздева В.А. - Москва :ИД ФОРУМ, НИЦ ИНФРА-М, 2015. - 544 с.

(дата обращения: 25.11.2021).

4. Голицына, О. Л. Языки программирования : учеб. пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. — 3-е изд., перераб. и доп. — Москва : ФОРУМ : ИНФРА-М, 2018. — 399 с.

(дата обращения: 25.11.2021).

5. Microsoft Build. Краткий обзор языка C# // Microsoft. 2020. URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp/

(дата обращения: 25.11.2021).

6. Материал из Википедии — свободной энциклопедии. C Sharp // Википедия. 2020. URL: https://ru.wikipedia.org/wiki/C_Sharp

(дата обращения: 25.11.2021).

7. Лавлинский, В.В. Технология программирования на современных языках программирования / В.В. Лавлинский, О.В. Коровина. – Воронеж: Воронежская государственная лесотехническая академия, 2012. – 118 с.

(дата обращения: 25.11.2021).

Просмотров работы: 19