我用Repeater控件做嵌套循环遇到的问题,请指教,谢谢!(限VB.net方法解决)
限VB.net方法解决!!!
我按照微软的how to文章做的嵌套循环代码如下:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not IsPostBack Then
Dim myconn As New SqlConnection(ConfigurationSettings.AppSettings("conn"))
Dim objcmd As New SqlDataAdapter("select * from f_class", myconn)
Dim objcmd2 As New SqlDataAdapter("select * from f_class_board", myconn)
Dim ds As New DataSet
objcmd.Fill(ds, "f_class")
objcmd2.Fill(ds, "f_class_board")
ds.Relations.Add("myrelation", ds.Tables("f_class").Columns("class_id"), ds.Tables("f_class_board").Columns("class_related_id"))
Repeater1.DataSource = ds.Tables("f_class")
Repeater1.DataSource = ds.Tables("f_class")
Page.DataBind()
myconn.Close()
End If
问题我觉得是出现在ds.Relations.Add("myrelation", ds.Tables("f_class").Columns("class_id"), ds.Tables("f_class_board").Columns("class_related_id"))这句上,如果数据库中子表中和父表的关联词中有父表中没有的,就无法建立关联了,运行时就会提示错误:不能启用此约束,因为不是所有的值都具有相应的父值。
举个例子说明一下,比如两个表中都有id字段,并且是用id来关联的
父表
id 其它字段
1 111
2 21
3 34
4 432543
子表1
id 其它字段
1 asf
2 dsf sdf
3 sdfdsfdsg
子表2
id 其它字段
1 asf
2 dsf sdf
5 sdfdsfdsg
数据库中的表如上,父表和子表1就可以正常的通过我上面的代码运行,而如果是父表和子表2就运行提示说不能启用此约束,因为不是所有的值都具有相应的父值。
所以请各位高手帮我看看怎么弄能解决我的难题??
还有如果谁有datagrid嵌套循环的vb.net的代码的话也请麻烦给我看看好吗?这个问题也困扰我好久了。