0

I would like to combine 2 or more records in a single string based from SqlDataReader data.

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

I have 2 existing records and the ltCategory.Text displays Record1, Record2,

I want to use the following format:

  • Record1
  • Record1, Record2, Record3

SOLUTION

SqlDataReader data = cmd.ExecuteReader();
string category = "";
while (data.Read())
{
    category += ", " + data["Column1"].ToString();
}
ltCategory.Text = category.TrimStart(',');
abramlimpin
  • 5,027
  • 11
  • 58
  • 97

1 Answers1

1

Change category = data["Column1"].ToString() + ", " + category; to category += data["Column1"].ToString() + ", ";

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

This might need to be changed as well to:

ltCategory.Text = category.TrimEnd(', ');
Thomas Wood
  • 799
  • 7
  • 12
  • Unfortunately, you cannot add more than one character inside the TrimEnd(). – abramlimpin Sep 27 '13 at 06:11
  • The comma is still visible in the end of the string. – abramlimpin Sep 27 '13 at 06:12
  • 1
    `category += data["Column1"].ToString() + "," + " ";` Then outside of your loop: `categoryText = category.TrimEnd(''); ltCategory.Text = categoryText.TrimEnd(',');` Note the most elegant of solutions however. You could alternativaly have the whitespace at the start of the += and perform a TrimStart. – Thomas Wood Sep 27 '13 at 06:26