PDA

View Full Version : مشکل با DataRelation



shahab_ksh
جمعه 01 شهریور 1387, 10:24 صبح
با سلام
جدول زیر رو در نظر بگیرید
fld_ref fld_id
---------------------------------
Null 1
Null 2
3 3
3 4




Dim ds As New DataSet()
Using conn As New SqlConnection(ConfigurationManager.ConnectionStrin gs("ConnectionString").ConnectionString)

Dim cmd As New SqlCommand("AA_master_menu1", conn)
cmd.CommandType = CommandType.StoredProcedure

Dim par_lang As New SqlParameter("@par_lang", SqlDbType.NVarChar, 100)
par_lang.Value = language_code
cmd.Parameters.Add(par_lang)

Dim da As New SqlDataAdapter(cmd)
da.Fill(ds)
da.Dispose()

End Using

ds.DataSetName = "Menus"
ds.Tables(0).TableName = "tbl_Menu"
Dim relation As New DataRelation("ParentChild", ds.Tables("tbl_Menu").Columns("fld_id"), ds.Tables("tbl_Menu").Columns("fld_ref"), True)

relation.Nested = True
ds.Relations.Add(relation)
xmlDataSource_Vertical.Data = ds.GetXml()


چرا این ارور رو نشون میدهو راه حلش چیه من حتی به جای Null از 0 هم استفاده کردم اما مشکل حل نشد
حتی با یک رکورد بصورت زیر هم همین مشکل وجود داره
fld_ref----fld_id
------------------------
1-------Null



This constraint cannot be enabled as not all values have corresponding parent values.

shahab_ksh
شنبه 02 شهریور 1387, 01:09 صبح
برای کسی چنین مشکلی پیش نیومده؟

mostafa_sgh
شنبه 02 شهریور 1387, 01:36 صبح
سلام دوست عزیز

شما در این کد مقدار Constraint رو مقدار True قرار دادین و این به این معنی که باید تو Child Column تمامی مقدار های Parent Column وجود داشته باشه ....

برا اصلاح این کار مقدار Constraint رو برابر False قرار بدید :


Dim relation As New DataRelation("ParentChild",
ds.Tables("tbl_Menu").Columns("fld_id"),
ds.Tables("tbl_Menu").Columns("fld_ref"), False)

تازه مگه این Data Relation برا ارتباط بین دو تا Table نیست ؟
پس چرا شما برا یه Table ازش استفاده میکنید ؟ ( هر چند شاید دلیلی وجود داشته باشه )

shahab_ksh
شنبه 02 شهریور 1387, 02:18 صبح
روی سرور باز هم مشکل داره

shahab_ksh
شنبه 02 شهریور 1387, 13:09 عصر
پس چرا شما برا یه Table ازش استفاده میکنید ؟ ( هر چند شاید دلیلی وجود داشته باشه )

خوب من ارتباط رو بین یک فیلد از جدول با یک فیلد از همون جدول ایجاد کردم