将SQL数据过滤到单个DataSet中的多个DataTable中

时间:2018-12-09 08:53:22

标签: vb.net dataset

这应该很简单,但是由于我已经有十多年没有用VB编写代码了,所以现在正在逃避。
我有一个存储过程,可以获取学生及其分配的班主任的列表。
非常基础-仅需三列:FirstNameLastNameTeacher

我需要的是将数据加载到DataSet中,其中每个Teacher都有自己的DataTable,其中充满了分配给他们的学生。

样本数据:

Sample data

因此,在上面的示例中,我将得到3个名为AdamsTaggertDublin的数据表,每个数据表中都包含与它们相关联的学生,这些学生均位于单个DataSet中一种我可以通过以下方式调用数据的方式:

For Each dr As DataRow In ds.Tables("Taggert").Rows
    ' Do something with dr("FirstName").ToString
Next

任何帮助将不胜感激。

2 个答案:

答案 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