データベース は、ほとんどのアプリケーションの不可欠な部分であると見なされています。デスクトップ、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());
}
}
}
出力
GroupDocs.Parser for .NET APIの詳細については、ドキュメント にアクセスしてください。ソースコードの例は、GitHubリポジトリ からダウンロードまたは複製できます。質問がある場合は、フォーラム に投稿してください。