مشاركة عبر


كيفية القيام بما يلي: الوصول إلى السجلات في DataTables ذات صلة

عند الجداول في فئة البيانات فيما بينها، DataRelationكائن يمكنك إتاحة سجلات مرتبطة في جدول آخر. على سبيل المثال، مجموعة التي تحتوي على " Customersو Ordersالجداول يمكن أن تكون متوفرة.

يمكنك استخدام DataRelationكائن لتحديد السجلات ذات الصلة بواسطة استدعاء GetChildRowsأسلوب DataRowفي الجدول الأصلي؛ هذا الأسلوب بإرجاع صفيفة من السجلات التابعة ذات الصلة. أو يمكنك استدعاء GetParentRowأسلوب DataRowفي فرع الجدول؛ هذا الأسلوب بإرجاع واحدة DataRowمن الجدول الأصلي.

توفر هذه الصفحة تعليمات أمثلة على استخدام datasets مكتوب. ل معلومات تشغيل التنقل علاقات في مصنف datasets، راجع Navigating DataRelations (ADO.NET).

ملاحظة

إذا كنت تعمل في أحد تطبيقات Windows Forms واستخدام ميزات ربط بيانات إلى عرض بيانات، مصمم إنشاء النموذج قد بتوفير وظائف كافية للتطبيق الخاص بك. ل المزيد المعلومات، راجع الصفحات تشغيل قم بربط عناصر التحكم إلى البيانات في ‏‫Visual Studio، وبشكل خاص كيفية القيام بما يلي: عرض بيانات ذات صلة في تطبيق Windows Formsو الإرشادات التفصيلية: عرض بيانات ذات صلة تشغيل نموذج Windows.

أمثلة تعليمات برمجية التالي شرح التنقل لأعلى و أسفل علاقات في datasets مكتوب. استخدامها لكتابة DataRows ( NorthwindDataSet.OrdersRow) وتم إنشاؤه FindByمفتاح أساسي (FindByCustomerID) إلى بحث صف الذي تريده وقم بإرجاع السجلات ذات الصلة. ترجمة الأمثلة و يعمل بشكل صحيح فقط إذا كان لديك:

  • نسخة عن فئة البيانات باسم NorthwindDataSetمع Customersجدول

  • AnOrdersجدول

  • تسمية علاقة FK_Orders_Customersالمتعلقة الثاني الجداول متوفر إلى نطاق من تعليمات برمجية الخاصة بك

بالإضافة إلى ذلك، كل من الجداول تحتاج إلى يتم تعبئة مع البيانات الخاصة بأية سجلات يتم إرجاعها.

الوصول إلى السجلات المرتبطة

إلى إرجاع التابع سجلات السجل الأصل المحدد

  • استدعاء GetChildRowsأسلوب محدد Customersصف بيانات و بإرجاع صفيفة صفوف من Ordersالجدول:

    Dim customerID As String = "ALFKI"
    Dim orders() As NorthwindDataSet.OrdersRow
    
    orders = CType(NorthwindDataSet.Customers.FindByCustomerID(customerID).
        GetChildRows("FK_Orders_Customers"), NorthwindDataSet.OrdersRow())
    
    MessageBox.Show(orders.Length.ToString())
    
    string custID = "ALFKI";
    NorthwindDataSet.OrdersRow[] orders;
    
    orders = (NorthwindDataSet.OrdersRow[])northwindDataSet.Customers.
        FindByCustomerID(custID).GetChildRows("FK_Orders_Customers");
    
    MessageBox.Show(orders.Length.ToString());
    

إلى إرجاع السجل الأصل للسجل المحدد التابعة

  • قم باستدعاء GetParentRowأسلوب محدد Ordersصف بيانات و إرجاع صف مفرد من Customersالجدول:

    Dim orderID As Integer = 10707
    Dim customer As NorthwindDataSet.CustomersRow
    
    customer = CType(NorthwindDataSet.Orders.FindByOrderID(orderID).
        GetParentRow("FK_Orders_Customers"), NorthwindDataSet.CustomersRow)
    
    MessageBox.Show(customer.CompanyName)
    
    int orderID = 10707;
    NorthwindDataSet.CustomersRow customer;
    
    customer = (NorthwindDataSet.CustomersRow)northwindDataSet.Orders.
        FindByOrderID(orderID).GetParentRow("FK_Orders_Customers");
    
    MessageBox.Show(customer.CompanyName); 
    

راجع أيضًا:

المبادئ

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

موارد أخرى

علاقات في Datasets

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

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

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

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

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

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

حفظ بيانات