ฐานข้อมูล ถือว่าเป็นส่วนสำคัญของแอปพลิเคชันส่วนใหญ่ ไม่ว่าจะเป็นเดสก์ท็อป เว็บ หรือแอปพลิเคชันมือถือ ฐานข้อมูลมีบทบาทสำคัญในการจัดเก็บ เข้าถึง และจัดการข้อมูล มีระบบจัดการฐานข้อมูลมากมายที่ช่วยให้สามารถสร้างและจัดการฐานข้อมูลให้กับคุณได้
อย่างไรก็ตาม อาจมีสถานการณ์ที่คุณต้องการวิธีดึงข้อมูลจากไฟล์ฐานข้อมูล เช่น ไฟล์ .db โดยไม่ต้องติดตั้งระบบจัดการฐานข้อมูลหรือเขียนแบบสอบถาม SQL คุณจะแยกวิเคราะห์ไฟล์ฐานข้อมูลในกรณีเช่นนี้และรับข้อมูลจากไฟล์ได้อย่างไร
ในบทความนี้ ฉันจะแสดงให้เห็นว่าคุณสามารถแยกข้อมูลจากตารางในฐานข้อมูล SQLite ได้ง่ายเพียงใดโดยไม่ต้องเขียนแบบสอบถาม SQL ฉันจะใช้ GroupDocs.Parser for .NET API ซึ่งรองรับการแยกข้อมูลจากฐานข้อมูลผ่าน [ADO.NET](https://en.wikipedia. org/wiki/ADO.NET)
ขั้นตอนในการดึงข้อมูลจากตารางในฐานข้อมูล SQLite (.db)
-
สร้างโครงการใหม่ใน Visual Studio
-
ติดตั้ง GroupDocs.Parser for .NET จาก NuGet
-
เพิ่มเนมสเปซต่อไปนี้
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 repository ในกรณีที่มีข้อสงสัย เพียงโพสต์บน ฟอรัม