PDA

View Full Version : سوال: ارتباط جدول ها در دیتاست



sds1920
پنج شنبه 05 فروردین 1389, 16:18 عصر
باسلام خدمت همه دوستان.
من می خوام ببینم چطور می شه دوتا جدول از دیتاست را به هم ارتباط داد یعنی همون Relation در DataBase را چطور می شه توی دیتاست پیاده کرد؟
خودم تونستم این کار رو با کلاس System.Data.DataRelation بکنم ولی یک مشکل داره.اونم اینه که باید تعداد سطرهای دوتا جدول مساوی باشه.یعنی اگه جدول اول 10 تا سطر داره جدول دوم هم باید 10 تا سطر داشته باشه و گرنه خطا می ده.من می خوام جوری باشه که این هم ارزی وجود نداشته باشه.یعنی تعداد سطرها برابر نباشه.
خواهشا کدهاش رو هم بنویسید.
پیشاپیش ممنون

Salar Ashgi
پنج شنبه 05 فروردین 1389, 16:42 عصر
شما میتونید از Query های خود SQL یا LINQ استفاده کنید .

FastCode
جمعه 06 فروردین 1389, 00:30 صبح
باسلام خدمت همه دوستان.
من می خوام ببینم چطور می شه دوتا جدول از دیتاست را به هم ارتباط داد یعنی همون Relation در DataBase را چطور می شه توی دیتاست پیاده کرد؟
خودم تونستم این کار رو با کلاس System.Data.DataRelation بکنم ولی یک مشکل داره.اونم اینه که باید تعداد سطرهای دوتا جدول مساوی باشه.یعنی اگه جدول اول 10 تا سطر داره جدول دوم هم باید 10 تا سطر داشته باشه و گرنه خطا می ده.من می خوام جوری باشه که این هم ارزی وجود نداشته باشه.یعنی تعداد سطرها برابر نباشه.
خواهشا کدهاش رو هم بنویسید.
پیشاپیش ممنون

این کاری رو که شما میگید رو من هنوز نتونستم انجام بدم و برام خیلی جالبه.
ولی کدی که شما میخواهی اینه:

global::System.Data.DataSet dataset = new global::System.Data.DataSet();
.
..
...
....
.....
......
....
...
..
.
global::System.Data.DataRelation rel = new global::System.Data.DataRelation("FK_Cheque_Pardakht_Bank", new global::System.Data.DataColumn[] { dataset.Tables["Bank"].CodeColumn}, new global::System.Data.DataColumn[] { dataset.Tables["Cheque_Pardakht"].AzHesabColumn}, false);
dataset.Relations.Add(rel);

hakelberfin
جمعه 06 فروردین 1389, 01:06 صبح
سلام
کدی که FastCode نوشتن درسته . من این کد رو ساده میکنم.
ابتدا DataSet رو با دو جدول Customer و Order کردم


System.Data.DataRelation Relation1;
System.Data.DataColumn colCustomer;
System.Data.DataColumn colOrder;
colCustomer = ds.Tables["Customers"].Columns["CustomerID"];
colOrder = ds.Tables["Orders"].Columns["CustomerID"];
Relation1 = new System.Data.DataRelation("Relation1",colCustomer,colOrder);
ds.Relations.Add(Relation1);

sds1920
دوشنبه 09 فروردین 1389, 17:26 عصر
ممنون ازتون ولی این کدها رو خودم قبلا نوشته بودم و همین مشکل را داره.
کسی می تونه بهم کمک کنه؟ممنون می شم.