مشاركة عبر


نظرة عامة حول محول الجدول

TableAdapters توفر الاتصال بين تطبيق الخاص بك و قاعدة بيانات. وبشكل أكثر تحديداً، محول الجدول يصل إلى قاعدة بيانات أو تنفيذ الاستعلامات أو الإجراءات المخزنة، وأما أن ترجع جدول بيانات جديد بتعبئة مع البيانات التي تم إرجاعها أو تعبئة موجودة DataTableمع البيانات التي يتم إرجاعها. يتم أيضا استخدام TableAdapters لإرسال البيانات المحدثة من تطبيق الخاص بك مرة أخرى إلى قاعدة بيانات.

يمكن لمستخدمي الإصدارات السابقة من Visual Studioيمكن اعتبار محول الجدول كـ DataAdapterمع كائن اتصال مضمنة والقدرة على تحتوي على استعلامات متعددة. يتم الكشف عن كل استعلام بإضافتها إلى محول الجدول كأسلوب عامة التي تسمى بساطة كأسلوب أو دالة غير ذلك تشغيل كائن.

بالإضافة إلى الوظائف القياسية من على DataAdapter، قم بتوفير TableAdapters إضافى وظائف المكتوبة التي تغلف الاستعلامات التي تشترك في مخطط شائعة مع المقترنة بكتابة DataTable. بمعنى آخر، يمكنك الحصول على العديد من الاستعلامات كما تريد على محول الجدول طالما أنه يتم إرجاع بيانات التي تتوافق مع إلى نفس المخطط.

في الإصدار السابق من Visual Studio، تم استخدام محولات بيانات ADO.NET للاتصال بين تطبيق و قاعدة بيانات. بينما لا تزال محولات بيانات هو مكون رئيسي ل .NET Framework Data Providers (ADO.NET)، TableAdapters مصمم من قبل المكونات التي تحسن على الأداء الوظيفي ل DataAdapters. TableAdapters عادة تحتوي على Fillو Updateأساليب إلى جلب وتحديث البيانات في قاعدة بيانات.

يتم تاريخ الإنشاء TableAdapters مع فئة البيانات مصمم من داخل datasets مكتوب بشدة. يمكنك إنشاء TableAdapters أثناء إنشاء جديد فئة البيانات مع معالج تكوين مصدر البيانات. يمكنك أيضا إنشاء TableAdapters في فئة البيانات الموجودين معالج تكوين محول الجدولأو مع سحب الكائنات قاعدة بيانات من مستعرض الخادم إلى مصمم فئة البيانات . لمزيد من المعلومات، راجع كيفية القيام بما يلي: إنشاء TableAdapters.

بينما يتم تصميم محول الجدولs مع فئة البيانات مصمم ، لا يتم إنشاء فئات محول الجدول التي تم إنشاؤها كفئات متداخلة من DataSet. تم وضعها في مساحة الاسم منفصلة خاصة إلى كل مجموعة بيانات. ل مثال، إذا كان لديك مجموعة يسمى NorthwindDataSet، المقترنة TableAdapters DataTables NorthwindDataSetستكون في NorthwindDataSetTableAdaptersمساحة الاسم. للوصول إلى محول الجدول معينة برمجياً، يجب أن تقوم بتعريفه مثيل جديد من محول الجدول. فعلى سبيل المثال:

Dim northwindDataSet As New NorthwindDataSet()
Dim customersTableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter()

customersTableAdapter.Fill(northwindDataSet.Customers)
NorthwindDataSet northwindDataSet = new NorthwindDataSet();

NorthwindDataSetTableAdapters.CustomersTableAdapter customersTableAdapter = 
    new NorthwindDataSetTableAdapters.CustomersTableAdapter();

customersTableAdapter.Fill(northwindDataSet.Customers);

مخطط جدول البيانات المرتبطة

عند إنشاء محول الجدول، الاستعلام الأولية أو إجراء مخزّن تستخدم لتعريف المخطط المقترن الخاص محول الجدول DataTable. تقوم بتنفيذ هذا الاستعلام الأولية أو إجراء المخزن خلال الاتصال الأساسي الخاص محول الجدول Fillأسلوب (الذي يقوم بتعبئة في محول الجدول الخاص المقترن DataTable). أية تغييرات تم إجراؤها إلى الاستعلام الرئيسي الخاص محول الجدول تنعكس في مخطط جدول بيانات المقترن. ل مثال، إزالة عمود من الاستعلام الرئيسي بإزالة العمود من جدول بيانات المقترن. إذا كان أي استعلامات إضافى تشغيل محول الجدول استخدام جمل SQL بإرجاع أعمدة غير موجودة في الاستعلام الرئيسي، ثم ستحاول المصمم إلى ليزامن التغييرات عمود بين الاستعلام الرئيسي وأية استعلامات إضافى. لمزيد من المعلومات، راجع كيفية القيام بما يلي: تحرير TableAdapters.

الأوامر تحديث محول الجدول

وظيفة تحديث محول الجدول هو يعتمد على مقدار المعلومات هو متوفر استناداً الاستعلام الرئيسي التي تم توفيرها في معالج محول الجدول. على سبيل المثال، TableAdapters التي تم تكوينها إلى إحضار قيم من الجداول (صلات) والقيم العددية وطرق عرض متعددة، أو لم يتم إنشاؤها نتيجة الدالات التجميعية مبدئياً إمكانية إلى يرسل تحديث الخلفية إلى قاعدة بيانات المصدر. ومع ذلك، يمكن تكوين الأوامر إدراج و تحديث و يحذف يدوياً في الإطار خصائص.

استعلامات محول الجدول

TableAdapter بعدة استعلامات

محولات بيانات القياسية، بعكس TableAdapters يمكن أن يحتوي على عدة استعلامات إلى ملء جداول بيانات المقترنة بها. يمكنك تعريف العديد من الاستعلامات عن TableAdapter كما يتطلب تطبيق الخاص بك، طالما أن كل استعلام بإرجاع البيانات التي تتوافق مع إلى نفس المخطط كجدول بيانات مقترنة به. وهذا يمكن تحميل بيانات الذي يفي بمعايير مختلفة. على سبيل المثال، إذا كان تطبيق الخاص بك يحتوي على جدول العميل، يمكنك إنشاء استعلام يقوم بتعبئة الجدول مع كل عميل اسمه يبدأ بحرف معين، و استعلام آخر يقوم بتعبئة الجدول مع الجميع العميل الموجودة في نفس الحالة. إلى تعبئة Customersالجدول بواسطة cusإلىmers في الولاية معينة يمكنك إنشاء FillByStateالاستعلام الذي يأخذ معلمة لقيمة الالولاية: SELECT * FROM Customers WHERE State = @State. تقوم بتنفيذ الاستعلام بواسطة استدعاء FillByStateالأسلوب و تمرير القيمة معلمة كما يلي: CustomerTableAdapter.FillByState("WA"). لمزيد من المعلومات، راجع كيفية القيام بما يلي: إنشاء استعلامات محول الجدول.

بالإضافة إلى الاستعلامات التي تقوم بإرجاع بيانات من نفس مخطط كجدول بيانات الخاص TableAdapter، يمكنك إضافة الاستعلامات التي تقوم بإرجاع قيم رقمية (مفرد). على سبيل المثال، إنشاء استعلام إرجاع عدد العملاء ( SELECT Count(*) From Customers) هو صالح CustomersTableAdapterعلى الرغم من أن بيانات التي تم إرجاعها لا يتوافق مع المخطط للجدول.

خاصية ClearBeforeFill

يضيف محول الجدول خاصية غير متوفرة تشغيل أساس DataAdapterفئة. عن طريق الافتراضي، كل مرة تقوم بتنفيذ استعلام لتعبئة جدول بيانات الخاص محول الجدول، يتم مسح بيانات ويتم تحميلها من نتائج الاستعلام فقط في الجدول. قم بتعيين اسم محول الجدول ClearBeforeFillخاصية إلى falseإذا كنت ترغب في إضافة أو دمج بيانات التي يتم إرجاعها من استعلام للبيانات موجود في جدول بيانات. بغض النظر عن ما إذا قمت بمسح البيانات، تحتاج إلى بوضوح بإرسال التحديثات إلى قاعدة بيانات، إذا رغبت في ذلك. لذلك تأكد من حفظ أية تغييرات يتم إجراؤها على بيانات في الجدول قبل تنفيذ استعلام آخر يقوم بتعبئة الجدول. لمزيد من المعلومات، راجع كيفية القيام بما يلي: تحديث بيانات بواسطة محول الجدول استخدام.

توريث محول الجدول

TableAdapters توسيع الأداء الوظيفي لمحولات بيانات القياسية بواسطة تغليف مكونة DataAdapter. بشكل افتراضي، ترث محول الجدول من Componentويتعذر تحويل إلى DataAdapterفئة. بث محول الجدول إلى DataAdapterينتج InvalidCastException. إلى تغيير فئة Base من محول الجدول، يمكنك كتابة فئة مشتقة من Componentفي فئة أساسية خاصية محول الجدول في مصمم مجموعة البيانات.

خصائص أساليب و محول الجدول

الفئة محول الجدول هو ليس جزء من .NET Framework، ونفس الطريقة التي لا يمكن البحث عنه في الوثائق أو من مستعرض الكائنات. هو التي تم إنشاؤها أثناء وقت التصميم عند استخدام واحد معالجات المذكورة أعلاه. الاسم المعين إلى TableAdapter عندما تقوم بإنشاء هو استناداً إلى اسم الجدول الذي تعمل به. ل مثال، عند إنشاء محول الجدول يستند إلى جدول في قاعدة بيانات تسمى Orders، قد يسمى محول الجدول OrdersTableAdapter. يمكن تم تغييره اسم الفئة محول الجدول باستخدام اسم خاصية في مصمم مجموعة البيانات.

فيما يلي الأساليب استخداماً و خصائص TableAdapters:

العضو

الوصف

TableAdapter.Fill

قم بتعبئة جدول بيانات المصاحبة ل محول الجدول مع نتائج الأمر تحديد الخاصة محول الجدول. لمزيد من المعلومات، راجع كيفية القيام بما يلي: تعبئة فئة البيانات مع بيانات.

TableAdapter.Update

قم بإرسال التغييرات إلى قاعدة بيانات و بإرجاع عدد صحيح يمثل عدد صفوف تتأثر بتحديث. لمزيد من المعلومات، راجع كيفية القيام بما يلي: تحديث بيانات بواسطة محول الجدول استخدام.

TableAdapter.GetData

إرجاع جديد DataTableتعبئة مع البيانات.

TableAdapter.Insert

قم بإنشاء صف جديد في جدول بيانات. لمزيد من المعلومات، راجع كيفية القيام بما يلي: إضافة الصفوف إلى جدول البيانات.

TableAdapter.ClearBeforeFill

يحدد ما إذا كان جدول البيانات هو إفراغ قبل الاتصال بأحد Fillالأساليب.

أسلوب تحديث محول الجدول

TableAdapters باستخدام أوامر بيانات إلى قراءة إلى والكتابة من قاعدة بيانات. الأولية ل محول الجدول Fill(الرئيسية) الاستعلام هو استخدامها bas هو لإنشاء المخطط في جدول بيانات المقترن، بالإضافة InsertCommand، UpdateCommand، و DeleteCommandالالأوامر المقترنة TableAdapter.Updateالأسلوب. وهذا يعني أن الاتصال الخاص محول الجدول Updateأسلوب لتنفيذ العبارات التي تم إنشاؤها عند تكوين محول الجدول الأصل، و واحد استعلامات إضافى تتم إضافته باستخدام معالج تكوين الاستعلام محول الجدول.

عندما كنت استخدم محول الجدول، فاعلية ينفذ العمليات نفسها باستخدام الأوامر التي عليك عادة تنفيذ. على سبيل المثال، عندما تقوم باستدعاء محول's Fillالأسلوب، محول ينفذ الأمر البيانات في به SelectCommandخاصية ويستخدم قارئ بيانات (على سبيل المثال، SqlDataReader) تحميل النتيجة تعيين إلى جدول بيانات. وبالمثل، عند الاتصال بمحول Updateأسلوب، أن ينفذ الأمر المناسب (في UpdateCommand، InsertCommand، و DeleteCommandخصائص) لكل تم تغييره سجل في جدول بيانات.

ملاحظة

إذا كان هناك هو معلومات كافية في الاستعلام الرئيسي InsertCommand، UpdateCommand، و DeleteCommandالالأوامر التي تم إنشاؤها بشكل افتراضي عند محول الجدول هو التي تم إنشاؤها. إذا الرئيسي محول الجدول الاستعلام المزيد جدول مفرد عبارة تحديد، يمكن لمصمم لن يتسنى إلى توليد InsertCommand، UpdateCommand، و DeleteCommand. إذا لم يتم إنشاء هذه الأوامر، قد تتلقى خطأ عند تنفيذ TableAdapter.Updateالأسلوب.

محول الجدول GenerateDbDirectMethods

بالإضافة إلى InsertCommand، UpdateCommand، و DeleteCommand، يتم إنشاء TableAdapters مع وظائف التي يمكن تنفيذها بشكل مباشر من قاعدة بيانات. هذه الطرق ( TableAdapter.Insert، TableAdapter.Update، و TableAdapter.Delete) يمكن استدعاء مباشرة إلى التعامل مع البيانات في قاعدة بيانات. وهذا يعني أنه يمكنك استدعاء هذه الأساليب فردي من تعليمات برمجية لديك بدلاً من استدعاء محول الجدول.تحديث إلى التعامل إدراج التحديثات والحذف معلقة لجدول بيانات المقترن.

إذا كنت لا تريد إلى إنشاء هذه الطرق المباشرة، قم بتعيين اسم محول الجدول GenerateDbDirectMethods خاصية إلى false(in theخصائصنافذة) . استعلامات إضافى تمت الإضافة إلى محول الجدول استعلامات مستقل — فإنها لا تنشئ هذه الطرق.

اعتماد محول الجدول قبول القيم الخالية أنواع

تعتمد TableAdapters ذا قيمة فارغة أنواع Nullable(Of T)و T?. للحصول تشغيل مزيد من المعلومات حول قبول القيم الخالية الأنواع في Visual أساسى، راجع أنواع قيمة nullable. ل المزيد من المعلومات تشغيل أنواع قابلة للقيم الخالية في C#، راجع استخدام أنواع Nullable (برمجة دليل C#).

راجع أيضًا:

المهام

كيفية القيام بما يلي: يعيّن إلى البيانات في قاعدة بيانات

الإرشادات التفصيلية: الاتصال إلى البيانات في قاعدة بيانات (Windows Forms)

المبادئ

ما هو الجديد في تطوير التطبيقات للبيانات

قم بربط عناصر التحكم إلى البيانات في ‏‫Visual Studio

موارد أخرى

الإرشادات التفصيلية الخاصة بالبيانات

قم بإعداد تطبيق الخاص بك إلى تلقي بيانات

إحضار بيانات في تطبيق الخاص بك

‏‏تحرير بيانات في تطبيق الخاص بك

التحقق من صحة بيانات

حفظ بيانات