La base de données est considérée comme faisant partie intégrante de la plupart des applications. Qu’il s’agisse d’une application de bureau, Web ou mobile, la base de données joue un rôle essentiel dans le stockage, l’accès et la manipulation des données. Il existe de nombreux systèmes de gestion de bases de données qui permettent de créer et de gérer des bases de données pour vous.

Cependant, il peut arriver que vous ayez besoin d’un moyen d’extraire des données de fichiers de base de données, c’est-à-dire un fichier .db, sans installer de système de gestion de base de données ni écrire de requêtes SQL. Comment analyseriez-vous le fichier de base de données dans un tel cas et en obtiendriez-vous les données ?

Dans cet article, je vais montrer avec quelle facilité vous pouvez extraire les données des tables d’une base de données SQLite sans écrire de requêtes SQL. Je vais utiliser l’API GroupDocs.Parser for .NET qui prend en charge l’extraction de données à partir de bases de données via [ADO.NET](https://en.wikipedia. org/wiki/ADO.NET).

Étapes pour extraire des données de tables dans la base de données SQLite (.db)

1. Créez un nouveau projet dans Visual Studio.

2. Installez GroupDocs.Parser pour .NET à partir de NuGet.

3. Ajoutez les espaces de noms suivants.

using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;

4. Préparez la chaîne de connexion.

string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");

5. Chargez le fichier de base de données dans l’objet Parser.

using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
   // ton code va ici
}

6. Obtenez la liste des tables de la base de données à l’aide de la méthode Parser.GetToc.

// Obtenir une liste de tables
IEnumerable<TocItem> toc = parser.GetToc();

7. Parcourez les tables et extrayez les données.

// Itérer sur les tables
foreach (TocItem i in toc)
{
    // Imprimer le nom de la table
    Console.WriteLine(i.Text);
    // Extraire le contenu d'un tableau sous forme de texte
    using (TextReader reader = parser.GetText(i.PageIndex.Value))
    {
          Console.WriteLine(reader.ReadToEnd());
    }
}

Code complet

string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// Créez une instance de la classe Parser pour extraire les tables de la base de données.
// La chaîne de connexion est transmise en tant que premier paramètre et LoadOptions est défini sur le format de fichier de base de données.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
	// Obtenir une liste de tables
	IEnumerable<TocItem> toc = parser.GetToc();
	// Itérer sur les tables
	foreach (TocItem i in toc)
	{
		// Imprimer le nom de la table
		Console.WriteLine(i.Text);
		// Extraire le contenu d'un tableau sous forme de texte
		using (TextReader reader = parser.GetText(i.PageIndex.Value))
		{
			Console.WriteLine(reader.ReadToEnd());
		}
	}
}

Production

Code C # pour extraire des données de la base de données SQLite

Consultez la documentation pour en savoir plus sur l’API GroupDocs.Parser for .NET. Vous pouvez télécharger ou cloner les exemples de code source à partir du référentiel GitHub. En cas de question, postez-la simplement sur le forum.