Работа с SQLite в C#. Часть 1
SQLite
SQLite - это встраиваемая кроссплатформенная база данных. SQLite реализует большую часть стандарта SQL-92. Движок SQLite не является отдельной программой. Вместо этого он статически или динамически связывается с приложением. База данных SQLite - это обычно один-единственный файл, который может быть расположен рядом с исполняемым файлом программы.
ADO.NET
ADO.NET является базовой частью .NET. Это спецификация, которая делает единообразным доступ к реляционным базам данных, XML-файлам и другим источникам данных приложений. С точки зрения программиста, это набор библиотек и классов для работы с базой данных и другими источниками данных. Библиотека System.Data.SQLite.Core - это реализации спецификация ADO.NET для базы данных SQLite.
Устанавливаем пакет:
$ dotnet add package System.Data.SQLite.Core
SQLiteConnection, SQLiteCommand, SQLiteDataReader, SQLiteDataAdapter являются основными классами этого пакета, с которыми мы будем работать.
Описание
- SQLiteConnection создает соединение с определенным источником данных.
- SQLiteCommand выполняет SQL для источника данных.
- SQLiteDataReader считывает потоки данных из источника данных.
- SQLiteDataAdapter является посредником между набором данных и источником данных. Он заполняет набор данных и выполняет обновления с помощью источника данных.
- Объект DataSet используется для работы с массивом данных. Это несвязанное представление данных, которое может содержать данные из множества различных источников.
Как SQLiteDataReader, так и DataSet используются для работы с данными; они используются при разных обстоятельствах. Если нам нужно только прочитать результаты запроса, лучшим выбором будет SQLiteDataReader. Если нам нужна более обширная обработка данных или мы хотим привязать элемент управления из пользовательского интерфейса к таблице базы данных, предпочтительнее использовать DataSet.
Получение версии SQLite в C
В примере ниже мы напишем простую программу, которая будет получать версию базы данных и выводить ее в консоль.
// подключаем пространство имен
using System.Data.SQLite;
// Это строка подключения к базе данных, которая располагается в памяти.
var connectionString = "Data Source=:memory:";
// создаем SQL запрос на выборку. SQLITE_VERSION - это встроенная функция SQLite, которая возвращает версию SQLite.
var sql = "SELECT SQLITE_VERSION()";
/*
Создаем объект SQLiteConnection. Этот объект используется для открытия соединения с базой данных.
using var - это конструкция нужна для автоматического закрытия соединения с БД и освобождения занятых ресурсов
*/
using var connection = new SQLiteConnection(connectionString);
// открывает подключение к базе данных.
connection.Open();
/**
SQLiteCommand - это объект, который используется для выполнения запроса к базе данных.
Параметрами являются SQL-запрос и объект подключения к базе данных.
*/
using var command = new SQLiteCommand(sql, connection);
/**
Так как в нашем случае нам нужна просто строка - скалярное значение - указывающая версию базы данных.
В таких ситуациях используется метод - ExecuteScalar, результат выполнения которого - одно единственное значение.
*/
var dbversion = command.ExecuteScalar().ToString();
// выводим в консоль
Console.WriteLine($"Версия SQLite: {dbversion}");
Результат:
$ dotnet run
Версия SQLite: 3.30.8
Таким образом в примере выше мы создали SQL-запрос, выполнили его в базе и отобразили в консоли. Ничего сложного, а в следующих статьях мы продолжим изучать работу с SQLite в C#.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.