2013-09-27 1 views
0

Я хотел бы объединить 2 или более записей в одной строке на основе данных SqlDataReader.SqlDataReader: Объединить записи в одной строке с делителями

SqlDataReader data = cmd.ExecuteReader(); 
string category = ""; 
while (data.Read()) 
{ 
    category = data["Column1"].ToString() + ", " + category; 
} 
ltCategory.Text = category.TrimEnd(','); 

У меня есть 2 существующие записи и ltCategory.Text отображает Record1, Record2,

Я хочу использовать следующий формат:

  • Record1
  • Record1, Record2, Record3

РЕШЕНИЕ

SqlDataReader data = cmd.ExecuteReader(); 
string category = ""; 
while (data.Read()) 
{ 
    category += ", " + data["Column1"].ToString(); 
} 
ltCategory.Text = category.TrimStart(','); 

ответ

1

Изменение category = data["Column1"].ToString() + ", " + category; в category += data["Column1"].ToString() + ", ";

ltCategory.Text = category.TrimEnd(','); 

Это, возможно, потребуется изменить, а также для:

ltCategory.Text = category.TrimEnd(', '); 
+0

К сожалению, вы не можете добавить более одного символа внутри TrimEnd (). – abramlimpin

+0

В конце строки запятая все еще видна. – abramlimpin

+1

'category + = data [" Column1 "]. ToString() +", "+" ";' Затем вне вашей петли: 'categoryText = category.TrimEnd (''); ltCategory.Text = categoryText.TrimEnd (','); ' Обратите внимание на самые изящные решения. Вы могли бы альтернативно иметь пробелы в начале + = и выполнять TrimStart. –

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