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)
-
Maak een nieuw project aan in Visual Studio.
-
Installeer GroupDocs.Parser for .NET vanuit NuGet.
-
Voeg de volgende naamruimten toe.
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
- Bereid de verbindingsreeks voor.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
- Laad het databasebestand in het Parser-object.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// uw code komt hier
}
- 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();
- 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
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.