วิธีการอ่านไฟล์ Access ทั้งหมดลงใน DataSet ด้วย .NET

คุณกำลังทำงานกับไฟล์ Microsoft Access อยู่หรือไม่และกำลังมองหาวิธีที่ง่ายในการอ่านข้อมูลลงในแอพพลิเคชัน .NET? ไม่ว่าคุณจะใช้ C# หรือ VB คุณอาจพบว่าต้องการนำเข้าข้อมูลจากไฟล์ Access (.mdb) ลงใน DataSet สิ่งนี้อาจรู้สึกน่ากลัวหากคุณไม่คุ้นเคยกับแนวทางการเขียนโค้ดที่จำเป็น แต่ไม่ต้องกังวล! ในบล็อกโพสต์นี้ ฉันจะแนะนำวิธีการทำเช่นนี้อย่างมีประสิทธิภาพ

ปัญหา

มีวิธีง่ายในการอ่านไฟล์ Access ทั้งหมดลงใน DataSet ใน .NET หรือไม่? คุณอาจต้องการทราบวิธีการรับรายการตารางจากไฟล์ Access เพื่อที่คุณจะได้วนผ่านแต่ละตารางและเพิ่มแต่ละตารางลงใน DataSet ของคุณทีละรายการโชคดีที่มีวิธีแก้ปัญหาที่เราสามารถนำไปใช้ได้เพียงไม่กี่บรรทัดของโค้ด

ภาพรวมของวิธีแก้ปัญหา

Namespace ที่ต้องใช้

ก่อนที่จะดำดิ่งลงในโค้ด ให้แน่ใจว่าได้รวม namespaces ต่อไปนี้ในโปรเจ็กต์ของคุณ:

Imports System.Data.OleDb

namespace OleDb ให้คลาสที่อนุญาตให้คุณเข้าถึงข้อมูลจากแหล่งข้อมูลต่างๆ ผ่าน OLE DB

ขั้นตอนการเขียนโค้ดทีละขั้นตอน

นี่คือโค้ดที่กระชับซึ่งแสดงวิธีการอ่านไฟล์ Access ทั้งหมดลงใน DataSet

Using cn = New OleDbConnection(connectionstring)
    cn.Open()
    Dim ds As DataSet = New DataSet()

    Dim Schema As DataTable = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
    For i As Integer = 0 To Schema.Rows.Count - 1
        Dim dt As DataTable = New DataTable(Schema.Rows(i)!TABLE_NAME.ToString())

        Using adapter = New OleDbDataAdapter("SELECT * FROM " + Schema.Rows(i)!TABLE_NAME.ToString(), cn)
            adapter.Fill(dt)
        End Using

        ds.Tables.Add(dt)
    Next i
End Using

การอธิบายโค้ด

  1. สร้างการเชื่อมต่อ: โค้ดเริ่มต้นโดยการสร้าง OleDbConnection ใหม่โดยใช้ connectionstring ที่ให้มาเพื่อติดต่อกับฐานข้อมูล Access

  2. เปิดการเชื่อมต่อ: เมธอด cn.Open() เปิดการเชื่อมต่อกับฐานข้อมูลทำให้คุณสามารถทำการดำเนินการต่างๆ กับมันได้

  3. สร้าง DataSet: คุณสร้าง DataSet ใหม่ (ds) ซึ่งจะเก็บข้อมูลจากไฟล์ Access

  4. รับ schema: เมธอด GetOleDbSchemaTable จะดึงข้อมูล schema จากไฟล์ Access โดยเฉพาะชื่อของตารางที่มีอยู่ในไฟล์

  5. วนผ่านตาราง: For ลูปวนผ่านแต่ละตารางใน schema ที่ดึงมา:

    • สร้าง DataTable ใหม่สำหรับแต่ละตารางโดยใช้ชื่อของมัน
    • สร้าง OleDbDataAdapter เพื่อดึงข้อมูลทั้งหมด (SELECT *) จากตารางปัจจุบัน
    • Adapter จะเติมข้อมูลเข้าสู่ DataTable
    • สุดท้าย DataTable ที่เติมข้อมูลแล้วจะถูกเพิ่มไปยัง DataSet

หมายเหตุสุดท้าย

ด้วยวิธีนี้ คุณได้ตั้งค่าแอพพลิเคชัน .NET ของคุณให้สามารถอ่านข้อมูลจากไฟล์ Access ทั้งหมดได้อย่างมีประสิทธิภาพ การรวมกันของ OleDbConnection และ OleDbDataAdapter ทำให้มันง่ายในการจัดการการเชื่อมต่อฐานข้อมูลและการดึงข้อมูล วิธีนี้ไม่เพียงแต่ช่วยให้คุณเข้าถึงตารางทั้งหมดได้ แต่ยังเตรียมข้อมูลสำหรับการจัดการหรือการวิเคราะห์เพิ่มเติมภายในแอพพลิเคชันของคุณ

สรุป

สรุปแล้ว การทำงานกับไฟล์ Access ใน .NET ไม่เคยง่ายขนาดนี้มาก่อน คุณมีเครื่องมือและความรู้ในการอ่านข้อมูลเข้าสู่ DataSet และสำรวจฐานข้อมูล Access ของคุณในเชิงโปรแกรมแล้ว อย่าลังเลที่จะปรับแต่งและแก้ไขโค้ดตามต้องการเพื่อตอบสนองความต้องการเฉพาะของคุณ ขอให้คุณสนุกกับการเขียนโค้ด!