كيف تقرأ ملف Access بالكامل في DataSet باستخدام .NET

هل تعمل مع ملفات Microsoft Access وتبحث عن وسيلة بسيطة لقراءة البيانات في تطبيق .NET؟ سواء كنت تستخدم C# أو VB، قد تجد نفسك بحاجة لاستيراد البيانات من ملف Access (.mdb) إلى DataSet. قد يبدو هذا الأمر شاقاً إذا لم تكن معتاداً على ممارسات البرمجة اللازمة. لكن لا تقلق! في هذه المدونة، سأرشدك إلى كيفية تحقيق ذلك بكفاءة.

المشكلة

هل هناك طريقة سهلة لقراءة ملف Access بالكامل إلى DataSet في .NET؟ قد ترغب أيضاً في معرفة كيفية الحصول على قائمة الجداول من ملف Access حتى تتمكن من التكرار عبرها وإضافة كل واحدة منها إلى DataSet الخاص بك واحدة تلو الأخرى. لحسن الحظ، هناك حل يمكننا تنفيذه في بضعة أسطر من الكود.

نظرة عامة على الحل

المساحة المطلوبة

قبل الغوص في الكود، تأكد من تضمين المساحات التالية في مشروعك:

Imports System.Data.OleDb

توفر المساحة 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. الحصول على المخطط: تسترجع طريقة GetOleDbSchemaTable معلومات المخطط من ملف Access، وتحديداً أسماء الجداول الموجودة في الملف.

  5. التكرار عبر الجداول: يقوم حلقة For بالتكرار عبر كل جدول في المخطط المسترجع:

    • يتم إنشاء DataTable جديدة لكل جدول باستخدام اسمه.
    • يتم إنشاء OleDbDataAdapter لجلب جميع السجلات (SELECT *) من الجدول الحالي.
    • يملأ المحول DataTable بالبيانات.
    • أخيراً، يتم إضافة DataTable المملوءة إلى DataSet.

ملاحظات نهائية

مع هذا الأسلوب، لقد قمت بإعداد تطبيق .NET الخاص بك لقراءة البيانات من ملف Access بالكامل بكفاءة. يتيح لك الجمع بين OleDbConnection وOleDbDataAdapter إدارة الاتصال بقاعدة البيانات واسترجاع البيانات بسهولة. لا يسمح لك هذا الأسلوب فقط بالوصول إلى جميع الجداول، ولكنه يعد البيانات أيضاً لمزيد من التلاعب أو التحليل داخل تطبيقك.

الخاتمة

في الختام، لم يكن العمل مع ملفات Access في .NET أسهل من ذلك. لديك الآن الأدوات والمعرفة لقراءة البيانات في DataSet واستكشاف قواعد بيانات Access الخاصة بك برمجياً. لا تتردد في تعديل الكود حسب الحاجة لتناسب احتياجاتك الخاصة. برمجة سعيدة!