将列表(字符串)从datareader转换为字符串

时间:2012-10-30 11:53:03

标签: arrays vb.net list

我已经从datareader中将一些数据捕获到列表中,现在我想知道将这些数据放入字符串的最佳方法是什么。

我的要求是我需要从表中获取字段名称,然后将这些作为标题放在页面上。

 objConn = New SqlConnection(strConnection)
    objConn.Open()
    objCmd = New SqlCommand(strSQL, objConn)
    rsData = objCmd.ExecuteReader(0)

    If rsData.HasRows Then

        Do While (rsData.Read())

            Dim SubjectNames As New List(Of String)

            SubjectNames.Add(rsData.GetString("subject"))



        Loop

            SubjectList = SubjectNames.ToArray

现在我正在考虑ToArray,并想知道如何将所有列表条目输出到我稍后可以使用的字符串中。

谨慎地注意到我所有内联都是这样,因为我必须使用的CMS不允许任何代码。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您不知道如何将List(Of String)转换为字符串。您可以使用String.Join并指定要用于加入单词的字符串:

Dim SubjectNames As New List(Of String)
Do While (rsData.Read())
    SubjectNames.Add(rsData.GetString("subject"))
Loop

Dim headers As String = String.Join(", ",  SubjectNames)

请注意,我已将列表的声明移到循环之外,否则您将始终为每条记录创建一个新列表。

修改:因此您不知道如何访问ListArray中的元素。

List(Of String)String()中的元素已经是单独的字符串。您可以通过索引器访问每个元素。例如:Dim firstSubject = SubjectNames(0)LinqfirstSubject = SubjectNames.First()。对于第10个元素:Dim subject10 = SubjectNames(9),因为索引是基于零的。

MSDN: Arrays in Visual Basic