Современные стандарды отчет №1
.docxЦель работы: конвертировать базу данных SQL в JSON.
Ход работы
Данный код написан на языке C# и предназначен для преобразования данных из базы данных SQLite в формат JSON и сохранения его в файл. Код использует библиотеки System, System.Collections.Generic, Newtonsoft.Json, System.Text.Json, System.IO и Microsoft.Data.Sqlite.
Сначала в коде объявляются все необходимые библиотеки с помощью ключевого слова using, а затем определяется пространство имен HomeWork. Внутри этого пространства имен определяется класс Program.
Далее определяется статический метод SQL_to_JSON, который принимает строку запроса на языке SQL в качестве аргумента.
static void SQL_to_JSON (string query)
{
string sqlExpression = query; // "SELECT * FROM Categories";
Внутри метода происходит соединение с базой данных SQLite, выполнение запроса и чтение результатов. Если результаты присутствуют, то они сохраняются в списке объектов data, который затем преобразуется в формат JSON с помощью метода JsonConvert.SerializeObject() и записывается в файл с помощью метода File.WriteAllText(). Затем преобразованные данные выводятся в консоль с помощью Console.WriteLine().
using (var connection = new SqliteConnection("Data Source=northwind.db"))
{
connection.Open();
SqliteCommand command = new SqliteCommand(sqlExpression, connection);
using (SqliteDataReader reader = command.ExecuteReader())
{
…………
var json = JsonConvert.SerializeObject(data); // преобразование списка объектов в JSON
File.WriteAllText("sqlTOjson.json", json); // запись JSON в файл
Console.WriteLine("\nПреобразованные данные:\n\n" + json); //вывод в консоль
}
Затем определяется статический метод Main(). Внутри метода выводится приглашение для ввода запроса на языке SQL с помощью Console.WriteLine(). Затем вызывается метод SQL_to_JSON с аргументом, предоставленным пользователем с помощью Console.ReadLine(). Затем выводится приглашение для завершения программы с помощью Console.Write() и ожидается нажатие любой клавиши с помощью Console.ReadKey().
static void Main()
{
Console.WriteLine("Введите SQL запрос SELECT FROM ");
SQL_to_JSON(Console.ReadLine());
Console.Write("Для завершения программы нажмити любую клавишу ");
Console.ReadKey();
}
Листинг программы:
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using System.Text.Json;
using System.IO;
using Microsoft.Data.Sqlite;
//https://metanit.com/sharp/adonetcore/4.3.php
namespace HomeWork
{
class Program
{
static void SQL_to_JSON (string query)
{
string sqlExpression = query; // "SELECT * FROM Categories";
using (var connection = new SqliteConnection("Data Source=northwind.db"))
{
connection.Open();
SqliteCommand command = new SqliteCommand(sqlExpression, connection);
using (SqliteDataReader reader = command.ExecuteReader())
{
if (reader.HasRows) // если есть данные
{
Console.WriteLine("\nДанные из базы данных SQL northwind.db:\n");
var data = new List<object>(); // создание списка объектов для сохранения данных
while (reader.Read()) // построчно считываем данные
{
var obj = new // создание объекта и заполнение его данными из базы данных
{
ID = reader.GetValue(0),
Name = reader.GetValue(1),
Description = reader.GetValue(2),
};
data.Add(obj); // добавление объекта в список
Console.WriteLine($"{obj}");
}
var json = JsonConvert.SerializeObject(data); // преобразование списка объектов в JSON
File.WriteAllText("sqlTOjson.json", json); // запись JSON в файл
Console.WriteLine("\nПреобразованные данные:\n\n" + json); //вывод в консоль
}
}
}
}
static void Main()
{
Console.WriteLine("Введите SQL запрос SELECT FROM ");
SQL_to_JSON(Console.ReadLine());
Console.Write("Для завершения программы нажмити любую клавишу ");
Console.ReadKey();
}
}
}
Вывод: в ходе работы был написан код на языке C#, который предназначен для преобразования данных из базы данных SQLite в формате JSON и сохранения его в файл. Код использовал б билетики Newtonsoft.Json, System.Text.Json, Microsoft.Data.Sqlite.