databáze je považována za nedílnou součást většiny aplikací. Ať už jde o desktopovou, webovou nebo mobilní aplikaci, databáze hraje zásadní roli při ukládání, přístupu a manipulaci s daty. Existuje mnoho systémů pro správu databází, které umožňují vytváření a správu databází za vás.

Může však nastat situace, kdy potřebujete způsob, jak extrahovat data z databázových souborů, tj. soubor .db, bez instalace systému správy databáze nebo psaní SQL dotazů. Jak byste v takovém případě analyzovali databázový soubor a získali z něj data?

V tomto článku ukážu, jak snadno můžete extrahovat data z tabulek v databázi SQLite bez psaní SQL dotazů. Budu používat GroupDocs.Parser for .NET API, které podporuje extrahování dat z databází přes ADO.NET.

Kroky k extrahování dat z tabulek v databázi SQLite (.db)

  1. Vytvořte nový projekt v sadě Visual Studio.

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

  3. Přidejte následující jmenné prostory.

using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
  1. Připravte propojovací řetězec.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
  1. Načtěte databázový soubor do objektu Parser.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
   // váš kód jde sem
}
  1. Získejte seznam tabulek v databázi pomocí metody Parser.GetToc.
// Získejte seznam stolů
IEnumerable<TocItem> toc = parser.GetToc();
  1. Iterujte tabulky a extrahujte data.
// Iterujte přes tabulky
foreach (TocItem i in toc)
{
    // Vytiskněte název tabulky
    Console.WriteLine(i.Text);
    // Extrahujte obsah tabulky jako text
    using (TextReader reader = parser.GetText(i.PageIndex.Value))
    {
          Console.WriteLine(reader.ReadToEnd());
    }
}

Kompletní kód

string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// Vytvořte instanci třídy Parser pro extrahování tabulek z databáze.
// Připojovací řetězec je předán jako první parametr a LoadOptions je nastaven na formát souboru databáze.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
	// Získejte seznam stolů
	IEnumerable<TocItem> toc = parser.GetToc();
	// Iterujte přes tabulky
	foreach (TocItem i in toc)
	{
		// Vytiskněte název tabulky
		Console.WriteLine(i.Text);
		// Extrahujte obsah tabulky jako text
		using (TextReader reader = parser.GetText(i.PageIndex.Value))
		{
			Console.WriteLine(reader.ReadToEnd());
		}
	}
}

Výstup

C# kód pro extrahování dat z SQLite databáze

Navštivte dokumentaci a prozkoumejte více o GroupDocs.Parser for .NET API. Příklady zdrojového kódu si můžete stáhnout nebo naklonovat z úložiště GitHub. V případě jakéhokoli dotazu jej jednoduše zveřejněte na fóru.