O banco de dados é considerado parte integrante da maioria dos aplicativos. Seja um desktop, web ou aplicativo móvel, o banco de dados desempenha um papel vital no armazenamento, acesso e manipulação dos dados. Existem muitos sistemas de gerenciamento de banco de dados que permitem criar e gerenciar bancos de dados para você.

No entanto, pode haver um cenário em que você precise de uma maneira de extrair dados de arquivos de banco de dados, ou seja, arquivo .db, sem instalar um sistema de gerenciamento de banco de dados ou escrever as consultas SQL. Como você analisaria o arquivo de banco de dados nesse caso e obteria os dados dele?

Neste artigo, vou demonstrar com que facilidade você pode extrair os dados das tabelas em um banco de dados SQLite sem escrever consultas SQL. Vou usar a API GroupDocs.Parser for .NET que suporta a extração de dados de bancos de dados via [ADO.NET](https://en.wikipedia. org/wiki/ADO.NET).

Etapas para extrair dados de tabelas no banco de dados SQLite (.db)

1. Crie um novo projeto no Visual Studio.

2. Instale o GroupDocs.Parser for .NET de NuGet.

3. Adicione os seguintes namespaces.

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

4. Prepare a string de conexão.

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

5. Carregue o arquivo de banco de dados no objeto Parser.

using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
   // seu código vai aqui
}

6. Obtenha a lista das tabelas no banco de dados usando o método Parser.GetToc.

// Obter uma lista de tabelas
IEnumerable<TocItem> toc = parser.GetToc();

7. Itere sobre as tabelas e extraia dados.

// Iterar sobre tabelas
foreach (TocItem i in toc)
{
    // Imprima o nome da tabela
    Console.WriteLine(i.Text);
    // Extrair um conteúdo de tabela como um texto
    using (TextReader reader = parser.GetText(i.PageIndex.Value))
    {
          Console.WriteLine(reader.ReadToEnd());
    }
}

Código completo

string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// Crie uma instância da classe Parser para extrair tabelas do banco de dados.
// A cadeia de conexão é passada como primeiro parâmetro e LoadOptions é definido como formato de arquivo de banco de dados.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
	// Obter uma lista de tabelas
	IEnumerable<TocItem> toc = parser.GetToc();
	// Iterar sobre tabelas
	foreach (TocItem i in toc)
	{
		// Imprima o nome da tabela
		Console.WriteLine(i.Text);
		// Extrair um conteúdo de tabela como um texto
		using (TextReader reader = parser.GetText(i.PageIndex.Value))
		{
			Console.WriteLine(reader.ReadToEnd());
		}
	}
}

Resultado

Código C# para extrair dados do banco de dados SQLite

Visite a documentação para explorar mais sobre a API GroupDocs.Parser for .NET. Você pode baixar ou clonar os exemplos de código-fonte do repositório do GitHub. Em caso de qualquer consulta, basta publicá-la no fórum.