De database wordt beschouwd als een integraal onderdeel van de meeste toepassingen. Of het nu een desktop-, web- of mobiele applicatie is, de database speelt een cruciale rol bij het opslaan, openen en manipuleren van de gegevens. Er zijn veel databasebeheersystemen waarmee u databases kunt maken en beheren.

Er kan echter een scenario zijn waarin u een manier nodig hebt om gegevens uit databasebestanden te extraheren, bijvoorbeeld een .db-bestand, zonder een databasebeheersysteem te installeren of de SQL-query’s te schrijven. Hoe zou u in zo’n geval het databasebestand ontleden en er de gegevens uit halen?

In dit artikel ga ik demonstreren hoe gemakkelijk u de gegevens uit de tabellen in een SQLite-database kunt extraheren zonder SQL-query’s te schrijven. Ik ga GroupDocs.Parser for .NET API gebruiken die het extraheren van gegevens uit databases via ADO.NET ondersteunt.

Stappen om gegevens te extraheren uit tabellen in SQLite Database (.db)

  1. Maak een nieuw project aan in Visual Studio.

  2. Installeer GroupDocs.Parser for .NET vanuit NuGet.

  3. Voeg de volgende naamruimten toe.

using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
  1. Bereid de verbindingsreeks voor.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
  1. Laad het databasebestand in het Parser-object.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
   // uw code komt hier
}
  1. Krijg een lijst met tabellen in de database met behulp van de Parser.GetToc-methode.
// Krijg een lijst met tabellen
IEnumerable<TocItem> toc = parser.GetToc();
  1. Herhaal de tabellen en extraheer gegevens.
// Herhaal tabellen
foreach (TocItem i in toc)
{
    // Druk de tabelnaam af
    Console.WriteLine(i.Text);
    // Extraheer een tabelinhoud als tekst
    using (TextReader reader = parser.GetText(i.PageIndex.Value))
    {
          Console.WriteLine(reader.ReadToEnd());
    }
}

Volledige code

string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// Maak een instantie van de klasse Parser om tabellen uit de database te extraheren.
// Verbindingsreeks wordt doorgegeven als eerste parameter en LoadOptions wordt ingesteld op Databasebestandsindeling.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
	// Krijg een lijst met tabellen
	IEnumerable<TocItem> toc = parser.GetToc();
	// Herhaal tabellen
	foreach (TocItem i in toc)
	{
		// Druk de tabelnaam af
		Console.WriteLine(i.Text);
		// Extraheer een tabelinhoud als tekst
		using (TextReader reader = parser.GetText(i.PageIndex.Value))
		{
			Console.WriteLine(reader.ReadToEnd());
		}
	}
}

Uitgang

C#-code om gegevens uit de SQLite-database te extraheren

Bezoek de documentatie voor meer informatie over GroupDocs.Parser for .NET API. U kunt de broncodevoorbeelden downloaden of klonen van GitHub-repository. Als je een vraag hebt, plaats deze dan gewoon op het forum.