データベース は、ほとんどのアプリケーションの不可欠な部分であると見なされています。デスクトップ、Web、またはモバイルアプリケーションのいずれであっても、データベースはデータの保存、アクセス、および操作において重要な役割を果たします。あなたのためにデータベースを作成して管理することを可能にする多くのデータベース管理システムがあります。

ただし、データベース管理システムをインストールしたり、SQLクエリを記述したりせずに、データベースファイル(**。db **ファイル) からデータを抽出する方法が必要な場合があります。このような場合、データベースファイルをどのように解析し、そこからデータを取得しますか?

この記事では、SQLクエリを記述せずにSQLiteデータベースのテーブルからデータを簡単に抽出できることを示します。 ADO.NET

SQLiteデータベース(.db) のテーブルからデータを抽出する手順

1. VisualStudioで新しいプロジェクトを作成します。

2. NuGet から GroupDocs.Parser for.NET をインストールします。

3. 次の名前空間を追加します。

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

4. 接続文字列を準備します。

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

5. パーサー オブジェクトにデータベースファイルをロードします。

using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
   // あなたのコードはここに行きます
}

6. Parser.GetToc メソッドを使用して、データベース内のテーブルのリストを取得します。

// テーブルのリストを取得する
IEnumerable<TocItem> toc = parser.GetToc();

7. テーブルを繰り返し処理し、データを抽出します。

// テーブルを反復処理します
foreach (TocItem i in toc)
{
    // テーブル名を印刷する
    Console.WriteLine(i.Text);
    // 表の内容をテキストとして抽出する
    using (TextReader reader = parser.GetText(i.PageIndex.Value))
    {
          Console.WriteLine(reader.ReadToEnd());
    }
}

完全なコード

string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// データベースからテーブルを抽出するためのParserクラスのインスタンスを作成します。
// 接続文字列が最初のパラメータとして渡され、LoadOptionsがデータベースファイル形式に設定されます。
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
	// テーブルのリストを取得する
	IEnumerable<TocItem> toc = parser.GetToc();
	// テーブルを反復処理します
	foreach (TocItem i in toc)
	{
		// テーブル名を印刷する
		Console.WriteLine(i.Text);
		// 表の内容をテキストとして抽出する
		using (TextReader reader = parser.GetText(i.PageIndex.Value))
		{
			Console.WriteLine(reader.ReadToEnd());
		}
	}
}

出力

SQLiteデータベースからデータを抽出するためのC#コード

GroupDocs.Parser for .NET APIの詳細については、ドキュメント にアクセスしてください。ソースコードの例は、GitHubリポジトリ からダウンロードまたは複製できます。質問がある場合は、フォーラム に投稿してください。