这应该很简单,但是由于我已经有十多年没有用VB编写代码了,所以现在正在逃避。
我有一个存储过程,可以获取学生及其分配的班主任的列表。
非常基础-仅需三列:FirstName
,LastName
,Teacher
。
我需要的是将数据加载到DataSet中,其中每个Teacher
都有自己的DataTable,其中充满了分配给他们的学生。
样本数据:
因此,在上面的示例中,我将得到3个名为Adams
,Taggert
和Dublin
的数据表,每个数据表中都包含与它们相关联的学生,这些学生均位于单个DataSet中一种我可以通过以下方式调用数据的方式:
For Each dr As DataRow In ds.Tables("Taggert").Rows
' Do something with dr("FirstName").ToString
Next
任何帮助将不胜感激。
答案 0 :(得分:0)
我最终使用了两个答案中的元素来找到解决方案。我最终使用DataViews创建表,并将它们添加到新的DataSet中。它运作完美。它会遍历每条记录,但是对于处理的数百名学生来说,实际上 高效。感谢您的评论。
global/window
答案 1 :(得分:-1)
old_datatable和所有老师一起,我会声明这一点,但是您使用自己的
Dim old_datatable As New DataTable
Dim new_dataset As New DataSet
For Each row As DataRow In old_datatable.Rows
Dim teacher As String = row("Teacher")
If new_dataset.Tables.Contains(teacher) = False Then
Dim new_datatable As New DataTable
new_dataset.Tables.Add(new_datatable)
End If
new_dataset.Tables(teacher).Rows.Add(row)
Next
For Each dr As DataRow In new_dataset.Tables("Taggert").Rows
' Do something with dr("FirstName").ToString
Next