Cơ sở dữ liệu được coi là một phần không thể thiếu của hầu hết các ứng dụng. Có thể là ứng dụng dành cho máy tính để bàn, web hoặc thiết bị di động, cơ sở dữ liệu đóng một vai trò quan trọng trong việc lưu trữ, truy cập và thao tác dữ liệu. Có nhiều hệ quản trị cơ sở dữ liệu cho phép tạo và quản lý cơ sở dữ liệu cho bạn.
Tuy nhiên, có thể xảy ra tình huống khi bạn cần một cách để trích xuất dữ liệu từ các tệp cơ sở dữ liệu, tức là tệp .db, mà không cần cài đặt hệ thống quản lý cơ sở dữ liệu hoặc viết các truy vấn SQL. Làm cách nào để bạn phân tích cú pháp tệp cơ sở dữ liệu trong trường hợp như vậy và lấy dữ liệu từ tệp đó?
Trong bài viết này, tôi sẽ chứng minh bạn có thể trích xuất dữ liệu từ các bảng trong cơ sở dữ liệu SQLite dễ dàng như thế nào mà không cần viết các truy vấn SQL. Tôi sẽ sử dụng GroupDocs.Parser for .NET API hỗ trợ trích xuất dữ liệu từ cơ sở dữ liệu qua [ADO.NET](https://en.wikipedia. org/wiki/ADO.NET).
Các bước để trích xuất dữ liệu từ bảng trong cơ sở dữ liệu SQLite (.db)
-
Tạo một dự án mới trong Visual Studio.
-
Cài đặt GroupDocs.Parser for .NET từ NuGet.
-
Thêm các không gian tên sau.
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
- Chuẩn bị chuỗi kết nối.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
- Tải tệp cơ sở dữ liệu trong đối tượng Parser.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// mã của bạn ở đây
}
- Lấy danh sách các bảng trong cơ sở dữ liệu bằng phương pháp Parser.GetToc.
// Lấy danh sách các bảng
IEnumerable<TocItem> toc = parser.GetToc();
- Lặp lại các bảng và trích xuất dữ liệu.
// Lặp lại các bảng
foreach (TocItem i in toc)
{
// In tên bảng
Console.WriteLine(i.Text);
// Trích xuất nội dung bảng dưới dạng văn bản
using (TextReader reader = parser.GetText(i.PageIndex.Value))
{
Console.WriteLine(reader.ReadToEnd());
}
}
Hoàn thành mã
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// Tạo một thể hiện của lớp Parser để trích xuất các bảng từ cơ sở dữ liệu.
// Chuỗi kết nối được truyền dưới dạng tham số đầu tiên và LoadOptions được đặt thành định dạng tệp Cơ sở dữ liệu.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// Lấy danh sách các bảng
IEnumerable<TocItem> toc = parser.GetToc();
// Lặp lại các bảng
foreach (TocItem i in toc)
{
// In tên bảng
Console.WriteLine(i.Text);
// Trích xuất nội dung bảng dưới dạng văn bản
using (TextReader reader = parser.GetText(i.PageIndex.Value))
{
Console.WriteLine(reader.ReadToEnd());
}
}
}
đầu ra
Truy cập tài liệu để khám phá thêm về GroupDocs.Parser for .NET API. Bạn có thể tải xuống hoặc sao chép các ví dụ về mã nguồn từ kho lưu trữ GitHub. Trong trường hợp có bất kỳ thắc mắc nào, chỉ cần đăng lên diễn đàn.