其实很简单,不需要递归,你在命令窗口执行:
Dim drs As New List(of DataRow)
Dim keys As New List(of String)
For Each dr As DataRow In DataTables("表A").DataRows
keys.Clear
Dim dr1 As DataRow = dr
keys.Add(dr("键"))
Do
Dim pkey As String = dr1("父键")
If keys.Contains(pkey)
drs.Add(dr)
Exit Do
Else
keys.Add(pkey)
dr1 = DataTables("表A").Find("键 = '" & pkey & "'")
If dr1 Is Nothing Then
Exit Do
End If
End If
Loop
Next
'列出死循环的行的标题
For Each dr As DataRow In drs
output.show(dr("标题"))
Next
[此贴子已经被作者于2013-7-9 9:38:17编辑过]