【问题标题】:VB.net DataSet to ArrayVB.net 数据集到数组
【发布时间】:2015-11-07 16:18:53
【问题描述】:

我希望将我的 DataSet 查询结果传输到数组中。

这是我的查询:

这是我知道的显示查询内容的唯一方法: Trans_TableTableAdapter.SelectDistinct(DBDataSet.Trans_Table)

我的问题是我不知道如何将此查询应用于数组。

这是我的最后一块拼图,我真的需要帮助来完成我的项目。 提前致谢。

【问题讨论】:

  • 这个包含了很多不同数据类型的列,你想到的是什么样的数组?此外,DataTable 通常包含多行,每一行都有多列。你想要List(Of Object())吗?
  • 我的查询只检索一列,即突出显示的一列。

标签: arrays vb.net dataset datasource


【解决方案1】:

所以你想从返回单列的查询中得到一个String()?您可以使用 LINQ:

Dim accounts As String() = DBDataSet.Trans_Table.AsEnumerable().
    Select(Function(row) row.Field(Of String)("Account")).
    ToArray()

如果您更喜欢查询语法:

Dim accounts = From row In DBDataSet.Trans_Table.AsEnumerable()
               Select row.Field(Of String)("Account")
Dim accountArray As String() = accounts.ToArray()

因为这似乎是一个强类型的DataSet,所以应该有一个可以直接使用的命名列:

Dim accounts = From row In DBDataSet.Trans_Table Select row.Account
Dim accountArray As String() = accounts.ToArray()

【讨论】:

  • 我想使用我的独特查询是否可能?我的帐户列有重复项,我想删除重复项。
  • @MarcIntes:当然可以。你只需要像你已经完成的那样执行可用的方法:Trans_TableTableAdapter.SelectDistinct(DBDataSet.Trans_Table)。在此行之后,您可以使用我上面的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 2011-08-24
  • 1970-01-01
相关资源
最近更新 更多