مشاركة عبر


الإرشادات التفصيلية: حفظ البيانات من بيانات ذات صلة الجداول (تحديث ذي التسلسل الهرمي)

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

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

المتطلبات الأساسية

إلى إكمال هذه معاينة، يجب:

إنشاء التطبيقات المستندة إلى Windows

الخطوة الأولى في ترتيب هو معاينة هو لإنشاء تطبيق جديد يستند إلى Windows.

إلى إنشاء التطبيق الجديد يستند إلى Windows

  1. من قائمة ملف، إنشاء مشروع جديد.

    ملاحظة

    تحديث هيكلية هو المعتمدة في مشاريع رئيسية Vهوual و C#، لذلك بإنشاء مشروع جديد في إحدى هذه اللغات.

  2. قم بتسمية مشروع من HierarchicalUpdateWalkthrough.

  3. تطبيق Windows Forms تحديد و انقر فوق ‏‏موافق . لمزيد من المعلومات، راجع إنشاء التطبيقات المستندة إلى Windows.

    مشروع HierarchicalUpdateWalkthrough هو التي تم إنشاؤها وإضافتها إلى من مستكشف الحل.

إنشاء فئة البيانات

لأنك تحتاج الجداول المرتبطة لتوضيح التحديثات ذات تسلسل هرمي، الخطوة التالية هو لإنشاء ورقة العمل التي تحتوي على جداول "العملاء" و Orders (الطلبيات) "من قاعدة بيانات Northwind. قم بإنشاء ورقة العمل باستخدام تكوين المصدر بيانات معالج. يجب أن يكون لديك حق الوصول إلى قاعدة بيانات نموذج Northwind لإنشاء الاتصال. للحصول على معلومات حول إلى قم بإعداد قاعدة بيانات Northwind، راجع كيفية القيام بما يلي: يثّبت نموذج قواعد بيانات.

إلى إنشاء ورقة العمل

  1. في قائمة بيانات ، انقر فوقإظهار مصادر البيانات.

  2. في الإطار المصادر البيانات ، انقر فوق إضافة مصدر بيانات جديد إلى بدء معالج إعداد مصدر البيانات.

  3. الصفحة اختيار "نوع مصدر البيانات" ، انقر فوق قاعدة بيانات و ثم انقر فوق التالي.

  4. في الصفحة اختيار اتصال بيانات الخاص بك، قم بتنفيذ واحد الإجراءات التالية:

    • إذا كان هناك اتصال بيانات إلى قاعدة بيانات Northwind هو متوفرة في المنسدلة المنسدلة صندوق lهوt، انقر فوقه.

      -أو-

    • انقر فوق من اتصال جديد إلى فتح صندوق الحوار اضافه/تعديل الاتصال. لمزيد من المعلومات، راجع إضافة/تعديل مربع حوار الاتصال (عام).

  5. إذا كانت قاعدة البيانات تتطلب كلمة مرور , حدد الخيار لتضمين بيانات حساسة له ، ثم انقر فوق التالي.

  6. انقر فوق التالي تشغيل حفظ Cتشغيلnecti تشغيل سلسلة إلى Applicati تشغيل Cتشغيلfigurati تشغيل ملف الصفحة .

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

  8. انقر فوق خانات الاختيار للجداول Orders (الطلبيات) و العملاء ، ومن ثم انقر فوق إنهاء.

    من NorthwindDataSet تم إنشاؤه وإضافته إلى مشروع الخاص بك، وتظهر الجداول في الإطار المصادر بيانات.

تغيير عناصر التحكم الافتراضية حدود بيانات تاريخ الإنشاء يجب أن تكون

بعد ملء الإطار المصادر بيانات، يمكنك اختيار عناصر التحكم المراد إنشاؤه عندما تقوم بسحب العناصر إلى نموذج Windows. لهذه معاينة، سيتم عرض بيانات من جدول "العملاء" في عناصر تحكم مفردة ( من التفاصيل). سيتم عرض بيانات الموجودة في الجدول Orders (الطلبيات) في DataGridViewعنصر التحكم ( من عرض شبكة البيانات).

لتعيين عنصر تحكم للعناصر الموجودة في نافذة "المصادر بيانات"

  1. قم بتوسيع العقدة العملاء في الإطار المصادر بيانات.

  2. تغيير s عنصر تحكم المراد إنشاؤه لهذا الجدول العملاء s عنصر تحكم الفردية بالنقر فوق تفاصيل في عنصر تحكم قائمة على العقدة العملاء. لمزيد من المعلومات، راجع كيفية القيام بما يلي: قم بتعيين عنصر إلى يتم إنشاء عند السحب من "نافذة المصادر بيانات".

    ملاحظة

    سيستخدم الجدول Orders (الطلبيات) الافتراضي عنصر تحكم، من عرض شبكة البيانات.

قم بإنشاء نموذج منضم للبيانات

بعد اختيار عناصر التحكم في الإطار مصادر البيانات، إنشاء عناصر تحكم حدود بيانات بسحب العناصر إلى النموذج.

لإنشاء حدود بيانات عناصر التحكم لبيانات العملاء و Orders (الطلبيات)

  1. يسحب العقدة الأساسية العملاء من الإطار موارد بيانات إلى من Form1.

    حدود بيانات عناصر التحكم يحتوي على تسميات وصفية يظهر في النموذج، مع مكون TableAdapterManager ، شريط أدوات ( BindingNavigator) للتنقل بين السجلات. وحدات فئة البياناتمكتوب و محول الجدول BindingSource، تظهر في مكوّن حاوية.

  2. قم بسحب العقدة المرتبطة Orders (الطلبيات) من الإطار المصادر بيانات إلى من Form1.

    ملاحظة

    العقدة المرتبطة Orders (الطلبيات) هو الموجودة أسفل الفاكس العقدة في جدول العملاء و هو عقدة تابعة للعقدة العملاء. عقده Orders (الطلبيات) التي تظهر كـ نظير إلى العقدة العملاء يمثل الجميع الطلبات في الجدول. العقدة Orders (الطلبيات) الذي يظهر فرع تمثل عقده للعقدة العملاء الطلبات ذات الصلة.

    DataGridViewعنصر التحكم و شريط أدوات ( BindingNavigator) للتنقل بين السجلات التي تظهر تشغيل النموذج. محول الجدول و BindingSourceتظهر في علبة مكوّن.

تعديل منشأ حفظ تعليمات برمجية إلى إجراء التحديث ذي التسلسل الهرمي

حفظ التغييرات من جدول البيانات ذات الصلة في فئة البيانات إلى قاعدة بيانات بواسطة استدعاء TableAdapterManager.UpdateAllالأسلوب وتمرير اسم فئة البيانات يحتوي على الجداول المرتبطة. على سبيل المثال، تشغيل TableAdapterManager.UpdateAll(NorthwindDataset)أسلوب إلى يرسل التحديثات من الجميع الجداول في NorthwindDataset إلى قاعدة بيانات ذات النهاية الخلفية.

بعد إفلات عناصر من الإطار Data Sources ، رمز هو إضافتها تلقائياً إلى Form_Loadحدث لتعبئة كل جدول ( TableAdapter.Fillوظائف). يتم تمت الإضافة رمز إلى حفظ زر انقر فوق حدث من BindingNavigatorلحفظ البيانات من ورقة العمل مرة أخرى إلى قاعدة بيانات ( TableAdapterManager.UpdateAllالأسلوب).

حفظ تعليمات برمجية تم إنشاؤه يحتوي أيضا على سطر من تعليمات برمجية التي تستدعي CustomersBindingSource.EndEditأسلوب. وبشكل أكثر تحديداً، يقوم باستدعاء EndEditأسلوب من أول BindingSourceإضافته إلى النموذج. بمعنى آخر، هذا تعليمات برمجية يتم إنشاء فقط للجدول أول سحبها من نافذة المصادر بيانات النموذج. EndEditأي إلى تحويل المكالمة التغييرات الموجودة في العملية في أية عناصر تحكم حدود بيانات حاليا تم تحريره. ولذلك، إذا كان عنصر تحكم حدود بيانات لا يزال تركيز وقمت بالنقر فوق حفظ زر، يتم تنفيذ الجميع عمليات التحرير معلقة في عنصر التحكم قبل الحفظ الفعلية ( TableAdapterManager.UpdateAllالأسلوب).

ملاحظة

ويضيف المصمم فقط BindingSource.EndEditرمز لإسقاط إلى الجدول أول نموذج. ولذلك، يجب إضافة سطر من تعليمات برمجية إلى يتصل BindingSource.EndEditأسلوب لكل جدول مرتبط في النموذج. بالنسبة لهذه معاينة، هذا يعني، يلزم إضافة يتصل إلى OrdersBindingSource.EndEditالأسلوب.

إلى تحديث تعليمات برمجية إلى تنفيذ التغييرات إلى الجداول المرتبطة قبل الحفظ

  1. انقر نقراً مزدوجاً فوق حفظ زر على BindingNavigatorلفتح Form1 في محرر تعليمات برمجية.

  2. إضافة سطر من تعليمات برمجية لإجراء مكالمة OrdersBindingSource.EndEditأسلوب بعد السطر الذي يستدعي CustomersBindingSource.EndEditالأسلوب. انقر فوق تعليمات برمجية في الزر حفظ حدث يجب أن يشبه ما يلي:

    Me.Validate()
    Me.CustomersBindingSource.EndEdit()
    Me.OrdersBindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.NorthwindDataSet)
    
    this.Validate();
    this.customersBindingSource.EndEdit();
    this.ordersBindingSource.EndEdit();
    this.tableAdapterManager.UpdateAll(this.northwindDataSet);
    

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

ملاحظة

قد لا تحتاج تنفيذ السجلات الأصل الجديدة؛ ويعتمد ذلك تشغيل نوع عنصر التحكم الذي هو المستخدم لربط مصدر بيانات الخاص بك. في هذه معاينة، باستخدام عناصر تحكم مفردة لربط الجدول الأصلي؛ وهذا يتطلب مزيد من تعليمات برمجية الالتزام السجل الأصل الجديد. إذا تم عرض السجلات الأصل في عنصر تحكم ربط معقدة مثل DataGridView، هذه إضافى EndEditيتصل لن يكون السجل للموقع الأصل عند الضرورة. Th هو هو لأن وظيفة ربط بيانات المصدر لعنصر التحكم بمعالجة تنفيذ السجلات الجديدة.

إلى قم بإضافة التعليمة البرمجية إلى تنفيذ السجلات الأصل في ورقة العمل قبل إضافة سجلات تابعة جديدة

  1. إنشاء an معالج الأحداث for the OrdersBindingSource.AddingNew حدث.

    • فتح Form1 في طريقة عرض التصميم، وانقر فوق OrdersBindingSource في علبة مكوّن، وحدد الأحداث إطار خصائص ، ثم مزدوج-انقر فوق حدث AddingNew.
  2. إضافة إلى معالج الأحداث سطر من تعليمات برمجية التي تستدعي CustomersBindingSource.EndEditالأسلوب. تعليمات برمجية في OrdersBindingSource_AddingNewيجب أن تتشابه مع معالج حدث التالي:

    Me.CustomersBindingSource.EndEdit()
    
    this.customersBindingSource.EndEdit();
    

التحقق من التي يتم ممكّن التحديثات هرمى

التحديثات ذات تسلسل هرمي تشغيل أو إيقاف تشغيلها عن طريق تعيين خاصية تحديث ذي التسلسل الهرمي فئة البيانات. ممكّن التحديثات الهرمي بشكل افتراضي، لذا لهذه معاينة لم يكن إلى بتغيير الالقيمة خاصية تحديث ذي التسلسل الهرمي.

إلى التحقق من ممكّن التحديثات ذات تسلسل هرمي

  1. فتح فئة البيانات في مصمم فئة البيانات بالنقر المزدوج فوق الملف Northwindفئة البيانات.xsd من مستكشف الحل.

  2. تحديد مساحة فارغ تشغيل سطح التصميم.

  3. حدد موقع ذي التسلسل الهرمي تحديث الخاصية نافذة الخياراتوتحقق من أنه تم تعيينه True .

    ملاحظة

    إعداد خاصية تحديث ذي التسلسل الهرمي هو ما هي عناصر التحكم ما إذا كان سيتم إنشاء تعليمات برمجية مع TableAdapterManagerوالمنطق إلى إجراء تحديثات الهرمية أو عدم. HierarchicalUpdate إلى صواب إعداد ينشئ لا تنتج TableAdapterManager؛ إعداد HierarchicalUpdate إلى خطأ TableAdapterManager.

اختبار التطبيق

لإختبار التطبيق

  1. اضغط F5.

  2. قم بإجراء بعض التغييرات إلى البيانات سجل واحد أو أكثر في كل جدول.

  3. إضافة عميل جديد و ثم إضافة طلب جديد لهذا العميل.

  4. انقر فوق الزر حفظ. TableAdapterManagerمقابض المعلومات المنطقية المطلوبة لكافة التحديثات ذات الصلة.

  5. تحقق من قيم الموجودة في قاعدة بيانات إلى التحقق من أن التغييرات التي تم حفظها في كل جدول.

الخطوات التالية

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

  • لإضافة ثالثة جدول، مثل كـ جدول OrderDetails وتجربة العمل مع الترتيب هرمي للجداول الثلاثة.

  • تعليمات برمجية للتحقق من صحة Addفيg للتحقق من البيانات يفي بمتطلبات تطبيق في إضافة إلى قاعدة بيانات constraفيts. لمزيد من المعلومات، راجع التحقق من صحة بيانات.

راجع أيضًا:

المهام

كيفية القيام بما يلي: قم بتكوين قيود المفتاح الخارجي في فئة البيانات

كيفية القيام بما يلي: التعيين ترتيب عند إجراء تحديث ذي التسلسل الهرمي

كيفية القيام بما يلي: الالتزام بمعالجة عمليات التحرير التي تتم تشغيل حدود بيانات عناصر التحكم قبل حفظ بيانات

كيفية القيام بما يلي: قم بتطبيق تحديث ذي التسلسل الهرمي في مشاريع Studio Visual Basic موجود

الإرشادات التفصيلية: حفظ البيانات من بيانات ذات صلة الجداول (تحديث ذي التسلسل الهرمي)

موارد أخرى

تحديث هرمي

حفظ بيانات

DataSets, DataTables, and DataViews (ADO.NET)