Baza danych jest uważana za integralną część większości aplikacji. Niezależnie od tego, czy jest to aplikacja komputerowa, internetowa czy mobilna, baza danych odgrywa istotną rolę w przechowywaniu danych, uzyskiwaniu do nich dostępu i manipulowaniu nimi. Istnieje wiele systemów zarządzania bazami danych, które umożliwiają tworzenie baz danych i zarządzanie nimi.

Może się jednak zdarzyć sytuacja, w której potrzebujesz sposobu na wyodrębnienie danych z plików bazy danych, np. pliku .db, bez instalowania systemu zarządzania bazą danych lub pisania zapytań SQL. Jak w takim przypadku przeanalizować plik bazy danych i uzyskać z niego dane?

W tym artykule pokażę, jak łatwo można wyodrębnić dane z tabel w bazie danych SQLite bez pisania zapytań SQL. Zamierzam użyć API GroupDocs.Parser for .NET, które wspiera wydobywanie danych z baz danych przez ADO.NET.

Kroki, aby wyodrębnić dane z tabel w bazie danych SQLite (.db)

  1. Utwórz nowy projekt w Visual Studio.

  2. Zainstaluj GroupDocs.Parser for .NET z NuGet.

  3. Dodaj następujące przestrzenie nazw.

using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
  1. Przygotuj parametry połączenia.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
  1. Załaduj plik bazy danych do obiektu Parser.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
   // twój kod idzie tutaj
}
  1. Pobierz listę tabel w bazie danych metodą Parser.GetToc.
// Pobierz listę tabel
IEnumerable<TocItem> toc = parser.GetToc();
  1. Przejrzyj tabele i wyodrębnij dane.
// Iteruj po tabelach
foreach (TocItem i in toc)
{
    // Wydrukuj nazwę tabeli
    Console.WriteLine(i.Text);
    // Wyodrębnij zawartość tabeli jako tekst
    using (TextReader reader = parser.GetText(i.PageIndex.Value))
    {
          Console.WriteLine(reader.ReadToEnd());
    }
}

Kompletny kod

string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// Utwórz instancję klasy Parser, aby wyodrębnić tabele z bazy danych.
// Ciąg połączenia jest przekazywany jako pierwszy parametr, a opcja LoadOptions jest ustawiona na format pliku bazy danych.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
	// Pobierz listę tabel
	IEnumerable<TocItem> toc = parser.GetToc();
	// Iteruj po tabelach
	foreach (TocItem i in toc)
	{
		// Wydrukuj nazwę tabeli
		Console.WriteLine(i.Text);
		// Wyodrębnij zawartość tabeli jako tekst
		using (TextReader reader = parser.GetText(i.PageIndex.Value))
		{
			Console.WriteLine(reader.ReadToEnd());
		}
	}
}

Wyjście

Kod C# do wyodrębniania danych z bazy danych SQLite

Odwiedź dokumentację, aby dowiedzieć się więcej o GroupDocs.Parser for .NET API. Możesz pobrać lub sklonować przykłady kodu źródłowego z repozytorium GitHub. W przypadku jakichkolwiek pytań po prostu opublikuj je na forum.