آموزش برنامه نویسی ، پایگاه داده sql server
آموزشگاه برنامه نویسی تحلیل داده : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server


آموزشگاه برنامه نویسی مجتمع فنی تهران میرداماد : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server

آموزش ADO.NET > کار با اشیای داده ای ADO.NET > حرکت بین رکوردهای جدول های مرتبط ( DataRelations )

حرکت بین رکوردهای جدول های مرتبط ( DataRelations ) :

یکی از مهم ترین و اصلی ترین کاربردهای ایجاد شی DataRelation برای پیوند دو یا چند جدول در یک شی DataSet ، امکان حرکت بین جدول ها و دریافت اطلاعات مرتبط بهم می باشد .
برای مثال این شی شما را قادر می سازد تا اطلاعات تمام رکوردهای مرتبط ( شی DataRow ) در یک جدول را با دادن آدرس رکوردی در جدول دوم دریافت نمایید . یعنی چه ؟
برای مثال فرض کنید که شما یک جدول به نام Customers دارید که اطلاعات مشتری ها در آن وجود داشته و جدول دیگری نیز دارید که سفارشات هر مشتری را شامل می شود ( جدول Orders) . در هنگام پیوند اتصال دو جدول بهم بوسیله فیلد (ستون) مشترک ، شما می توانید مثلا لیست تمامی سفارشات یک مشتری خاص در جدول اول را ، از جدول دوم استخراج نمایید .  این کار و مفهموم آن در مثال عملی آموزش داده شده است .

آموزش با مثال عملی :

مثال عملی: در مثال زیر بوسیله یک شی DataRelation بین دو جدول Customers و Orders یک ارتباط شکل گرفته است و سپس بوسیله متد GetChildRows ، تمامی سفارشات هر مشتری در خروجی چاپ می شود :
نکات کد مثال :

  • فیلد CustomerID یا شناسه مشتری ، بین دو جدول مشترک بوده و از آن برای اتصال و پیوند دو جدول استفاده شده است . در جدول اول کلید اصلی و در جدول دوم کلید فرعی می باشد .
  • دو شی DataRow یا رکورد در ADO.NET را برای دریافت و نمایش اطلاعات خروجی به نام های custRow و  orderRow  ایجاد کرده ایم .
  • سپس به وسیله دو دستور حلقه در بین جدول ها حرکت کرده و اطلاعات مورد نظر را در خروجی نمایش داده ایم .
VB کد Dim customerOrdersRelation As DataRelation = _
   customerOrders.Relations.Add("CustOrders", _
   customerOrders.Tables("Customers").Columns("CustomerID"), _
   customerOrders.Tables("Orders").Columns("CustomerID"))

Dim custRow, orderRow As DataRow

For Each custRow In customerOrders.Tables("Customers").Rows
   Console.WriteLine("Customer ID:" & custRow("CustomerID").ToString( ))
      For Each orderRow In custRow.GetChildRows(customerOrdersRelation)
         Console.WriteLine(orderRow("OrderID").ToString( ))
      Next
Next
C# کد DataRelation customerOrdersRelation =
   customerOrders.Relations.Add("CustOrders",
   customerOrders.Tables["Customers"].Columns["CustomerID"],
   customerOrders.Tables["Orders"].Columns["CustomerID"]);

foreach ( DataRow custRow in customerOrders.Tables["Customers"].Rows )
   {
      Console.WriteLine(custRow["CustomerID"].ToString( ));
         foreach (DataRow orderRow in custRow.GetChildRows(customerOrdersRelation))
            {
               Console.WriteLine(orderRow["OrderID"].ToString( ));
            }
   }


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟