مشاركة عبر


الإرشادات التفصيلية: قم بحفظ البيانات قاعدة بيانات (متعدد الجداول)

واحد السيناريوهات الأكثر شيوعاً في تطوير التطبيقات هو dهوplay بيانات في نموذج في تطبيقات Windows، قم بتحرير البيانات، ثم قم بإرسال البيانات المحدثة مرة أخرى إلى قاعدة بيانات. هذه معاينة بإنشاء نموذج يعرض بيانات من اثنين المتعلقة الجداول ويوضح كيفية تحرير السجلات وحفظ التغييرات في قاعدة بيانات. يستخدم هذا المثال Customersو Ordersالجداول من قاعدة بيانات Northwind النموذجية.

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

ملاحظة

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

تتضمن المهام الموضحة في هذه الإرشادات التفصيلية ما يلي:

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

لإكمال هذه المعاينة ، سوف تحتاج إلى :

إنشاء تطبيق في Windows

الخطوة الأولى هو لإنشاء تطبيقات Windows. تعيين اسم للمشروع هو اختيارية في ترتيب هو الخطوة إلا أننا سوف إعطائه اسماً لأن نحن حالة التخطيط تشغيل حفظه لاحقاً.

إلى إنشاء مشروع تطبيقات Windows جديد

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

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

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

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

إنشاء مصدر البيانات

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

لإنشاء مصدر بيانات

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

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

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

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

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

      -أو-

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

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

  6. انقر فوق التالي على حفظ سلسلة الاتصال للصفحة ملف "تكوين التطبيق".

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

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

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

تعيين عناصر التحكم أن يتم تاريخ الإنشاء

لترتيب هو معاينة بيانات في Customersسوف يكون الجدول في تخطيط تفاصيل الموقع بيانات هو dهوplayed في عناصر تحكم مفردة. بيانات من Ordersسوف يكون الجدول في تخطيط الشبكة معروضة في DataGridViewعنصر تحكم.

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

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

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

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

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

لإنشاء حدود بيانات عناصر التحكم في النموذج

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

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

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

    ملاحظة

    العقدة المرتبطة Orders (الطلبيات) الموجود أسفل العمود الفاكس و عقدة تابعة للعقدة العملاء.

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

إضافة تعليمات برمجية إلى تحديث قاعدة بيانات

يمكنك تحديث قاعدة بيانات بواسطة استدعاء Updateالأساليب الخاصة العملاء و Orders (الطلبيات) TableAdapters. افتراضياً، يكون لمعالج أحداث ل BindingNavigatorل حفظ زر يضاف إلى التعليمة البرمجية للنموذج بإرسال التحديثات إلى قاعدة بيانات. هذا إجراء بتعديل تعليمات برمجية هذا بإرسال التحديثات بالترتيب الصحيح إزالة احتمال وجود رفع أخطاء تكامل مرجعي. تعليمات برمجية بتنفيذ معالجة بالتفاف المكالمة تحديث في حظر محاولة catch الأخطاء أيضا. يمكنك تعديل تعليمات برمجية إلى تناسب احتياجات تطبيق الخاص بك.

ملاحظة

للإيضاح لا تستخدم هذه معاينة معاملة، ولكن إذا كنت تقوم بتحديث أو المزيد الجداول المرتبطة، ثم يجب عليك تضمين الجميع منطق تحديث داخل معاملة. معاملة هو عملية التي تضمن ذات الصلة بالجميع التغييرات إلى قاعدة بيانات ناجحاً قبل تنفيذ أية تغييرات. لمزيد من المعلومات، راجع Transactions and Concurrency (ADO.NET).

إلى إضافة تحديث المعلومات المنطقية للتطبيق

  1. انقر نقراً مزدوجاً فوق حفظ زر تشغيل BindingNavigatorفتح محرر تعليمات برمجية bindingNavigatorSaveItem_Clickمعالج حدث.

  2. استبدال تعليمات برمجية في معالج الأحداث لاستدعاء Updateوظائف TableAdapters ذات الصلة. التعليمة البرمجية التالية أول إنشاء ثلاثة جداول بيانات مؤقتة للاحتفاظ بالمعلومات التي تم محدثها لكل DataRowState(Deleted,Added, وModified) . ثم يتم تنفيذ التحديثات بالترتيب الصحيح. التعليمة البرمجية قد تشبه التالى:

    Me.Validate()
    Me.OrdersBindingSource.EndEdit()
    Me.CustomersBindingSource.EndEdit()
    
    Dim deletedOrders As NorthwindDataSet.OrdersDataTable = CType(
        NorthwindDataSet.Orders.GetChanges(Data.DataRowState.Deleted), NorthwindDataSet.OrdersDataTable)
    
    Dim newOrders As NorthwindDataSet.OrdersDataTable = CType(
        NorthwindDataSet.Orders.GetChanges(Data.DataRowState.Added), NorthwindDataSet.OrdersDataTable)
    
    Dim modifiedOrders As NorthwindDataSet.OrdersDataTable = CType(
        NorthwindDataSet.Orders.GetChanges(Data.DataRowState.Modified), NorthwindDataSet.OrdersDataTable)
    
    
    Try
        ' Remove all deleted orders from the Orders table.
        If Not deletedOrders Is Nothing Then
            OrdersTableAdapter.Update(deletedOrders)
        End If
    
        ' Update the Customers table.
        CustomersTableAdapter.Update(NorthwindDataSet.Customers)
    
        ' Add new orders to the Orders table.
        If Not newOrders Is Nothing Then
            OrdersTableAdapter.Update(newOrders)
        End If
    
        ' Update all modified Orders.
        If Not modifiedOrders Is Nothing Then
            OrdersTableAdapter.Update(modifiedOrders)
        End If
    
        NorthwindDataSet.AcceptChanges()
    
    Catch ex As Exception
        MsgBox("Update failed")
    
    Finally
        If Not deletedOrders Is Nothing Then
            deletedOrders.Dispose()
        End If
    
        If Not newOrders Is Nothing Then
            newOrders.Dispose()
        End If
    
        If Not modifiedOrders Is Nothing Then
            modifiedOrders.Dispose()
        End If
    End Try
    
    this.Validate();
    this.ordersBindingSource.EndEdit();
    this.customersBindingSource.EndEdit();
    
    NorthwindDataSet.OrdersDataTable deletedOrders = (NorthwindDataSet.OrdersDataTable)
        northwindDataSet.Orders.GetChanges(DataRowState.Deleted);
    
    NorthwindDataSet.OrdersDataTable newOrders = (NorthwindDataSet.OrdersDataTable)
        northwindDataSet.Orders.GetChanges(DataRowState.Added);
    
    NorthwindDataSet.OrdersDataTable modifiedOrders = (NorthwindDataSet.OrdersDataTable)
        northwindDataSet.Orders.GetChanges(DataRowState.Modified);
    
    try
    {
        // Remove all deleted orders from the Orders table.
        if (deletedOrders != null)
        {
            ordersTableAdapter.Update(deletedOrders);
        }
    
        // Update the Customers table.
        customersTableAdapter.Update(northwindDataSet.Customers);
    
        // Add new orders to the Orders table.
        if (newOrders != null)
        {
            ordersTableAdapter.Update(newOrders);
        }
    
        // Update all modified Orders.
        if (modifiedOrders != null)
        {
            ordersTableAdapter.Update(modifiedOrders);
        }
    
        northwindDataSet.AcceptChanges();
    }
    
    catch (System.Exception ex)
    {
        MessageBox.Show("Update failed");
    }
    
    finally
    {
        if (deletedOrders != null)
        {
            deletedOrders.Dispose();
        }
        if (newOrders != null)
        {
            newOrders.Dispose();
        }
        if (modifiedOrders != null)
        {
            modifiedOrders.Dispose();
        }
    }
    

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

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

  1. اضغط F5.

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

  3. اضغط الزر حفظ.

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

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

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

راجع أيضًا:

المبادئ

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

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

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

موارد أخرى

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

نظرة عامة حول تطبيقات بيانات في ‏‫Visual Studio

الاتصال إلى البيانات في ‏‫Visual Studio

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

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

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

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

حفظ بيانات