數據庫 被認為是大多數應用程序的組成部分。無論是桌面、Web 還是移動應用程序,數據庫在存儲、訪問和操作數據方面都起著至關重要的作用。有許多數據庫管理系統可以為您創建和管理數據庫。
但是,可能會出現這樣一種情況,即您需要一種方法來從數據庫文件(即 .db 文件)中提取數據,而無需安裝數據庫管理系統或編寫 SQL 查詢。在這種情況下,您將如何解析數據庫文件並從中獲取數據?
在本文中,我將演示如何在不編寫 SQL 查詢的情況下輕鬆地從 SQLite 數據庫中的表中提取數據。我將使用 GroupDocs.Parser for .NET API,它支持通過 ADO.NET。
從 SQLite 數據庫 (.db) 中的表中提取數據的步驟
-
在 Visual Studio 中創建一個新項目。
-
從 NuGet 安裝適用於 GroupDocs.Parser for .NET。
-
添加以下命名空間。
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
- 準備連接字符串。
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
- 在 Parser 對像中加載數據庫文件。
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// 你的代碼在這裡
}
- 使用 Parser.GetToc 方法獲取數據庫中表的列表。
// 獲取表格列表
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());
}
}
完整代碼
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 存儲庫 下載或克隆源代碼示例。如有任何疑問,只需將其發佈到論壇。