2012-10-30 3 views
0

Я захватил некоторые данные из datareader в список, и теперь мне интересно, как лучше всего вывести их в строки.Преобразовать список (строки) из 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

Если я вас правильно понимаю, вы не знаете, как преобразовать 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) 

Обратите внимание, что я переместил декларацию списка вне цикла, потому что в противном случае вы всегда создать новый список для каждого запись.

Edit: Так что вы не знаете, как получить доступ к элементам в виде List или Array.

Элементы в List(Of String) или String() уже являются отдельными строками. Вы получаете доступ к каждому элементу с помощью индексатора. Например: Dim firstSubject = SubjectNames(0) или через Linq: firstSubject = SubjectNames.First(). Для 10-го элемента: Dim subject10 = SubjectNames(9), поскольку индексы основаны на нуле.

MSDN: Arrays in Visual Basic

+0

Есть ли способ поставить все результаты из списка в отдельные строки? – PipBoy

+0

Отредактировал свой ответ. –

+0

Спасибо за разъяснение по тем пунктам - высоко ценится. – PipBoy

Смежные вопросы