数据库 被认为是大多数应用程序的组成部分。无论是桌面、Web 还是移动应用程序,数据库在存储、访问和操作数据方面都发挥着至关重要的作用。有许多数据库管理系统允许为您创建和管理数据库。

然而,当您需要一种从数据库文件(即 .db 文件) 中提取数据的方法时,可能会出现这样的情况,而无需安装数据库管理系统或编写 SQL 查询。在这种情况下,您将如何解析数据库文件并从中获取数据?

在本文中,我将演示如何轻松地从 SQLite 数据库中的表中提取数据,而无需编写 SQL 查询。我将使用 GroupDocs.Parser for .NET API,它支持通过 [ADO.NET](https://en.wikipedia. org/wiki/ADO.NET) 。

从 SQLite 数据库 (.db) 中的表中提取数据的步骤

1. 在 Visual Studio 中创建一个新项目。

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.Parser 对象中加载数据库文件。

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 存储库 下载或克隆源代码示例。如有任何疑问,只需将其发布在 论坛 上。