آموزش ADO.NET > کار با اشیای داده ای ADO.NET > اضافه کردن ارتباط بین جدول ها
در شی DataSet - شی ( DataRelation )
اضافه کردن ارتباط بین جدول ها در شی DataSet - شی ( DataRelation ) :
همانطور که در بخش آموزش SQL و یا سایر زبان های
پایگاه داده آموخته اید ، شما می توانید از طریق 2 یا چند فیلد مشترک بین 2 یا چند
جدول ، آنها را بهم متصل کرده و اطلاعات مورد نظر خود را استخراج نمایید . برای دریافت
اطلاعات بیشتر به بخش پیوند جدول ها در SQL بروید
.
نحوه متصل کردن جدول ها ( شی DataRelation ) در شی DataSet :
در یک شی DataSet که دارای چندین جدول یا شی DataTable
است ، می توانید بوسیله شی DataRelation دو یا چند جدول را بهم پیوند زده و بین آنها
حرکت نمایید . سپس اطلاعات رکوردهای مورد نظر خود را استخراج نمایید .
آرگومان های لازم برای ایجاد یک DataRelation عبارتند از نام پیوند یا DataRelation
name و آرایه ای از یک یا چندین فیلد DataColumn که بین دو جدول مشترک بوده و به عنوان
عامل ارتباط استفاده می شود .
پس از ایجاد ارتباط بین دو جدول شما می توانید بین آنها حرکت کرده و مقادیر مورد نظر
خود را استخراج نمایید .
اضافه کردن یک DataRelation به یک شی DataSet
بصورت خودکار و پیش فرض یک کلید اصلی ( UniqueConstraint ) را به جداول اصلی و یک کلید
خارجی را به جدول دوم اضافه می کند . برای دریافت اطلاعات بیشتر درباره تفاوت این دو
کلید به بخش DataTable Constraints بروید .
مثال عملی :
در مثال زیر یک DataRelation را به وسیله دو شی DataTable یا جدول در یک شی DataSet
ایجاد کرده ایم . هر کدام از جدول ها ( شی DataTable ) ، دارای یک فیلد به نام
CustID هستند که بین دو جدول مشترک بوده و باعث پیوند دو جدول بهم می
شود .
در این مثال آرگومان اول نام DataRelation با مقدار CustOrders بوده و آرگومان های
دوم و سوم نیز نام جدول های مادر ( Parent ) و فرزند ( Child ) می باشد .
|
VB کد
|
customerOrders.Relations.Add("CustOrders", _
customerOrders.Tables("Customers").Columns("CustID"),
_
customerOrders.Tables("Orders").Columns("CustID"))
|
|
C# کد
|
customerOrders.Relations.Add("CustOrders",
customerOrders.Tables["Customers"].Columns["CustID"],
customerOrders.Tables["Orders"].Columns["CustID"]);
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :