从SQL Server检索所有行并放入多行文本框

时间:2013-08-02 09:38:47

标签: c# sql sql-server

我想从SQL Server检索所有行并将其放在多行文本框中。查询执行但它加载最后一行可能是因为它是最后一条记录。我应该有'foreach'声明吗?

private void LoadComments()
{
   using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["db_TestDBConnectionString"].ConnectionString))
   {
      using (SqlCommand com = new SqlCommand("LoadNotes", con))
      {
         com.CommandType = CommandType.StoredProcedure;

         con.Open();

         com.ExecuteNonQuery();

         SqlDataReader dr = com.ExecuteReader();

         while (dr.Read() == true)
         {
            TextBox1.Text = dr.GetValue(0).ToString() + " " + dr.GetValue(1).ToString() + dr.GetValue(2).ToString();
         }
      }
   }
}

2 个答案:

答案 0 :(得分:0)

在While循环集TextBox1.Text="";之前 然后试试这段代码。

TextBox1.Text += dr.GetValue(0).ToString() + " " + dr.GetValue(1).ToString() + 
dr.GetValue(2).ToString()+Enviroment.NewLine;

在你的代码中你将每一行分配给TextBox1,但你要将下一行连接到TextBox1,所以我把+之前的值放在一起,这样就可以连接所有的行。

答案 1 :(得分:0)

string str = "";

while (dr.Read() == true)
         {
           str+= dr.GetValue(0).ToString() + " " + dr.GetValue(1).ToString() + dr.GetValue(2).ToString();
         }

 TextBox1.Text = str;