База даних вважається невід’ємною частиною більшості програм. База даних відіграє життєво важливу роль у зберіганні, доступі та маніпулюванні даними. Існує багато систем керування базами даних, які дозволяють створювати та керувати базами даних для вас.
Однак може виникнути сценарій, коли вам потрібен спосіб витягти дані з файлів бази даних, наприклад файлу .db, без встановлення системи керування базою даних або написання запитів SQL. Як би ви проаналізувати файл бази даних у такому випадку та отримати з нього дані?
У цій статті я збираюся продемонструвати, як легко ви можете витягти дані з таблиць у базі даних SQLite без написання запитів SQL. Я збираюся використовувати API GroupDocs.Parser for .NET, який підтримує вилучення даних із баз даних через ADO.NET.
Кроки для вилучення даних із таблиць у базі даних SQLite (.db)
-
Створіть новий проект у Visual Studio.
-
Установіть GroupDocs.Parser for .NET із NuGet.
-
Додайте такі простори імен.
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
- Підготуйте рядок підключення.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
- Завантажте файл бази даних в об’єкт Parser.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// ваш код міститься тут
}
- Отримайте список таблиць бази даних за допомогою методу Parser.GetToc.
// Отримайте список таблиць
IEnumerable<TocItem> toc = parser.GetToc();
- Перебирайте таблиці та витягуйте дані.
// Перебір таблиць
foreach (TocItem i in toc)
{
// Надрукуйте назву таблиці
Console.WriteLine(i.Text);
// Витягніть вміст таблиці як текст
using (TextReader reader = parser.GetText(i.PageIndex.Value))
{
Console.WriteLine(reader.ReadToEnd());
}
}
Повний код
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// Створіть екземпляр класу Parser для вилучення таблиць із бази даних.
// Рядок з’єднання передається як перший параметр, а для LoadOptions встановлено формат файлу бази даних.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// Отримайте список таблиць
IEnumerable<TocItem> toc = parser.GetToc();
// Перебір таблиць
foreach (TocItem i in toc)
{
// Надрукуйте назву таблиці
Console.WriteLine(i.Text);
// Витягніть вміст таблиці як текст
using (TextReader reader = parser.GetText(i.PageIndex.Value))
{
Console.WriteLine(reader.ReadToEnd());
}
}
}
Вихід
Відвідайте документацію, щоб дізнатися більше про GroupDocs.Parser for .NET API. Ви можете завантажити або клонувати приклади вихідного коду з репозиторію GitHub. У разі будь-якого запиту просто опублікуйте його на форумі.