Форматированное текстовое поле не печатает всю запись целиком

#c# #sql-server #richtextbox

#c# #sql-сервер #richtextbox

Вопрос:

я делаю это

 while (myReader.Read())          
  {
    richTextBox1.Text =(myReader["District Name"].ToString());
  }
  

но это выводит только последнее сохраненное значение названия района в форматированное текстовое поле, но я хочу напечатать все значения в столбце Название района

Ответ №1:

Потому что вы каждый раз устанавливаете свойство Text, а не добавляете к нему.

Вместо этого используйте следующий код:

 richTextBox1.Text  = (myReader["District Name"].ToString());
  

Ответ №2:

используйте = вместо equal для объединения.

С помощью equal вы присваиваете новое значение на каждом шаге цикла.

Кстати, вы можете использовать a StringBuilder для производительности (конкатенация строк может быстро стать дорогостоящей) и присвоить StringBuilder's значение вашему TextBox в конце цикла.

 var sb = new StringBuilder();
while (myReader.Read())
   sb.AppendFormat(" {0}",myReader["District Name"].ToString());  //add a space between values if you need it.      
   //or sb.AppendLine(myReader["District Name"].ToString()); if you want them on different lines

myTextBox1.Text = sb.ToString();