كيف تقرأ ملف 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
شرح الكود
-
إنشاء اتصال: يبدأ الكود بإنشاء
OleDbConnection
جديدة باستخدامconnectionstring
المقدمة للاتصال بقاعدة بيانات Access. -
فتح الاتصال: تفتح طريقة
cn.Open()
اتصال قاعدة البيانات، مما يسمح لك بأداء العمليات عليها. -
إنشاء DataSet: تقوم بتهيئة
DataSet
جديدة (ds
) والتي ستحتفظ بالبيانات من ملف Access. -
الحصول على المخطط: تسترجع طريقة
GetOleDbSchemaTable
معلومات المخطط من ملف Access، وتحديداً أسماء الجداول الموجودة في الملف. -
التكرار عبر الجداول: يقوم حلقة
For
بالتكرار عبر كل جدول في المخطط المسترجع:- يتم إنشاء
DataTable
جديدة لكل جدول باستخدام اسمه. - يتم إنشاء
OleDbDataAdapter
لجلب جميع السجلات (SELECT *
) من الجدول الحالي. - يملأ المحول
DataTable
بالبيانات. - أخيراً، يتم إضافة
DataTable
المملوءة إلىDataSet
.
- يتم إنشاء
ملاحظات نهائية
مع هذا الأسلوب، لقد قمت بإعداد تطبيق .NET الخاص بك لقراءة البيانات من ملف Access بالكامل بكفاءة. يتيح لك الجمع بين OleDbConnection
وOleDbDataAdapter
إدارة الاتصال بقاعدة البيانات واسترجاع البيانات بسهولة. لا يسمح لك هذا الأسلوب فقط بالوصول إلى جميع الجداول، ولكنه يعد البيانات أيضاً لمزيد من التلاعب أو التحليل داخل تطبيقك.
الخاتمة
في الختام، لم يكن العمل مع ملفات Access في .NET أسهل من ذلك. لديك الآن الأدوات والمعرفة لقراءة البيانات في DataSet واستكشاف قواعد بيانات Access الخاصة بك برمجياً. لا تتردد في تعديل الكود حسب الحاجة لتناسب احتياجاتك الخاصة. برمجة سعيدة!