【问题标题】:How do I loop it for multiple List in one object in vb.net如何在 vb.net 的一个对象中为多个列表循环它
【发布时间】:2018-10-15 03:19:19
【问题描述】:

我有一个数据集,用于存储从数据库中获取的数据。

我的数据集如下所示:

Id     EmpId     Questions
 1        6       abcdefgh
 2        6       kjkjlkjj
 3        6       yiuyuiyi
 4        6       kljkljkl

我必须遍历数据集并将值分配给我的类,如下所示

   Public class MyClass
      Public Property Id As Integer = 0
      Public Property EmpId As Integer = 0
      Public Property Question As List(of String)
   End Class

我如何遍历数据集并创建一个对象并将多个问题作为列表提取到“问题”属性中(分配给 MyClass 对象)。

有什么帮助吗?提前致谢。

【问题讨论】:

  • 您的意思是您想要为每个 EmpID 提供一个 MyClass 以及针对该 EmpID 的问题列表吗?顺便说一句,数据集包含数据表。这是您显示的数据表。

标签: vb.net arraylist dataset


【解决方案1】:

这是一个简单的例子:

Public Function ReturnQuestions() As List(Of MyClass)
    Dim questions As New List(Of MyClass)()
    Using ds As DataSet = GetData("select Id, EmpId, Questions from table")
        //check if populated
        If (ds IsNot Nothing) AndAlso (ds.Tables.Count > 0) AndAlso (ds.Tables(0).Rows.Count > 0)
            For Each row As DataRow In ds.Tables(0).Rows
                questions.Add(New MyClass(ds(0), ds(1), ds(2)))
            Next
        End If
    End using
    Return questions
End Function

对于 dataset.tables.rows 上的每个循环(首先检查是否没有)

然后在循环内部执行一个 myList.Add(new MyClass(ds(0),ds(1),..))

最后,您会从 DS 中解析出一个列表。如果您有任何问题,有多种方法可以制作 for 循环的内部部分

【讨论】:

  • 这里的 myList 是什么?你能用一个虚拟代码解释一下吗?
  • 一个没有解释,没有格式,但无用的答案
  • 抱歉,所有内容都在移动设备上 - 带示例的正确答案
  • 在 MyClass 的构造函数内部,您可以设置每个值。如果您不想使用构造函数,请使用 With 语法:docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/…
【解决方案2】:

首先,您无法在dataset而不是@ 987654322中存储任何东西@,在DataTable中,有数据。所以,为了简化问题,它应该是

如何循环通过数据集中的DataTable?

答案非常简单。

首先,抓住DataTable

Dim Dt as DataTable = dataset.Table("table name")

现在遍历DataTable

For Each Row in Dt
 Dim value1 as String = Row(0) ' Here 0 is the column index,change it as required
Next

现在回到您的问题的第二部分:

将值分配给我的类...

好吧,首先,您需要在@ 987654327 List 987654327 @。
Dim myClassList as New Lsit(Of MyClass)

现在,在循环中,您可以执行:

For Each Row in Dt
 Dim Class1 as New MyClass
 class1.Id= Convert.ToInt32(Row(0)) ' Here 0 is the column index,change it as required
 '''assign other values as well(if required)
 myClassList.Add(Class1)
Next

希望这会有所帮助:)

【讨论】:

  • 谢谢@zack。它真的有助于:) span>
  • @ santosh,你是最欢迎的..我希望将来帮助您:) span>
猜你喜欢
  • 1970-01-01
  • 2023-03-02
  • 1970-01-01
  • 1970-01-01
  • 2018-12-24
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多