วิธีการอ่านไฟล์ 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
การอธิบายโค้ด
-
สร้างการเชื่อมต่อ: โค้ดเริ่มต้นโดยการสร้าง
OleDbConnection
ใหม่โดยใช้connectionstring
ที่ให้มาเพื่อติดต่อกับฐานข้อมูล Access -
เปิดการเชื่อมต่อ: เมธอด
cn.Open()
เปิดการเชื่อมต่อกับฐานข้อมูลทำให้คุณสามารถทำการดำเนินการต่างๆ กับมันได้ -
สร้าง DataSet: คุณสร้าง
DataSet
ใหม่ (ds
) ซึ่งจะเก็บข้อมูลจากไฟล์ Access -
รับ schema: เมธอด
GetOleDbSchemaTable
จะดึงข้อมูล schema จากไฟล์ Access โดยเฉพาะชื่อของตารางที่มีอยู่ในไฟล์ -
วนผ่านตาราง:
For
ลูปวนผ่านแต่ละตารางใน schema ที่ดึงมา:- สร้าง
DataTable
ใหม่สำหรับแต่ละตารางโดยใช้ชื่อของมัน - สร้าง
OleDbDataAdapter
เพื่อดึงข้อมูลทั้งหมด (SELECT *
) จากตารางปัจจุบัน - Adapter จะเติมข้อมูลเข้าสู่
DataTable
- สุดท้าย
DataTable
ที่เติมข้อมูลแล้วจะถูกเพิ่มไปยังDataSet
- สร้าง
หมายเหตุสุดท้าย
ด้วยวิธีนี้ คุณได้ตั้งค่าแอพพลิเคชัน .NET ของคุณให้สามารถอ่านข้อมูลจากไฟล์ Access ทั้งหมดได้อย่างมีประสิทธิภาพ การรวมกันของ OleDbConnection
และ OleDbDataAdapter
ทำให้มันง่ายในการจัดการการเชื่อมต่อฐานข้อมูลและการดึงข้อมูล วิธีนี้ไม่เพียงแต่ช่วยให้คุณเข้าถึงตารางทั้งหมดได้ แต่ยังเตรียมข้อมูลสำหรับการจัดการหรือการวิเคราะห์เพิ่มเติมภายในแอพพลิเคชันของคุณ
สรุป
สรุปแล้ว การทำงานกับไฟล์ Access ใน .NET ไม่เคยง่ายขนาดนี้มาก่อน คุณมีเครื่องมือและความรู้ในการอ่านข้อมูลเข้าสู่ DataSet และสำรวจฐานข้อมูล Access ของคุณในเชิงโปรแกรมแล้ว อย่าลังเลที่จะปรับแต่งและแก้ไขโค้ดตามต้องการเพื่อตอบสนองความต้องการเฉพาะของคุณ ขอให้คุณสนุกกับการเขียนโค้ด!