ฐานข้อมูล ถือว่าเป็นส่วนสำคัญของแอปพลิเคชันส่วนใหญ่ ไม่ว่าจะเป็นเดสก์ท็อป เว็บ หรือแอปพลิเคชันมือถือ ฐานข้อมูลมีบทบาทสำคัญในการจัดเก็บ เข้าถึง และจัดการข้อมูล มีระบบจัดการฐานข้อมูลมากมายที่ช่วยให้สามารถสร้างและจัดการฐานข้อมูลให้กับคุณได้

อย่างไรก็ตาม อาจมีสถานการณ์ที่คุณต้องการวิธีดึงข้อมูลจากไฟล์ฐานข้อมูล เช่น ไฟล์ .db โดยไม่ต้องติดตั้งระบบจัดการฐานข้อมูลหรือเขียนแบบสอบถาม SQL คุณจะแยกวิเคราะห์ไฟล์ฐานข้อมูลในกรณีเช่นนี้และรับข้อมูลจากไฟล์ได้อย่างไร

ในบทความนี้ ฉันจะแสดงให้เห็นว่าคุณสามารถแยกข้อมูลจากตารางในฐานข้อมูล SQLite ได้ง่ายเพียงใดโดยไม่ต้องเขียนแบบสอบถาม SQL ฉันจะใช้ GroupDocs.Parser for .NET API ซึ่งรองรับการแยกข้อมูลจากฐานข้อมูลผ่าน [ADO.NET](https://en.wikipedia. org/wiki/ADO.NET)

ขั้นตอนในการดึงข้อมูลจากตารางในฐานข้อมูล SQLite (.db)

  1. สร้างโครงการใหม่ใน Visual Studio

  2. ติดตั้ง GroupDocs.Parser for .NET จาก NuGet

  3. เพิ่มเนมสเปซต่อไปนี้

using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
  1. เตรียมสตริงการเชื่อมต่อ
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
  1. โหลดไฟล์ฐานข้อมูลในวัตถุ Parser
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
   // รหัสของคุณไปที่นี่
}
  1. รับรายการตารางในฐานข้อมูลโดยใช้เมธอด Parser.GetToc
// รับรายการตาราง
IEnumerable<TocItem> toc = parser.GetToc();
  1. วนซ้ำตารางและแยกข้อมูล
// วนซ้ำตาราง
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());
		}
	}
}

เอาต์พุต

รหัส C# เพื่อแยกข้อมูลจากฐานข้อมูล SQLite

ไปที่ เอกสาร เพื่อสำรวจเพิ่มเติมเกี่ยวกับ GroupDocs.Parser for .NET API คุณสามารถดาวน์โหลดหรือคัดลอกตัวอย่างซอร์สโค้ดได้จาก GitHub repository ในกรณีที่มีข้อสงสัย เพียงโพสต์บน ฟอรัม