C# 如何逐行从表中检索数据?

C# 如何逐行从表中检索数据?,c#,asp.net,sql,C#,Asp.net,Sql,我在sql server数据库中有一个表,如下所示 id | Labels -----+---------------- 1 | MyHeaderLabel 2 | MyFooterLabel 3 | MyDescirption Label1.text = firstrow(MyHeaderLabel) Label2.text = secondrow(M

我在sql server数据库中有一个表,如下所示

           id   |  Labels
           -----+----------------
            1   |  MyHeaderLabel
            2   |  MyFooterLabel
            3   |  MyDescirption


Label1.text = firstrow(MyHeaderLabel)
Label2.text = secondrow(MyFooterLabel)
有没有办法做到这一点


我将使用存储过程来检索它们。我应该使用数据读取器获取这些值吗?是的,数据读取器是一个很好的选择

using(SqlConnection conn = new SqlConnection(YourConnectionStringHere))    
{

     SqlCommand cmd = new SqlCommand(YourSQLQuery, conn);

     SqlDataReader dr = cmd.ExecuteReader();

     while(dr.Read())      
     {

       Label1.Text = dr[1].ToString();

       // This is just an example. You can do whatever you want. :)

     }

}

我可能错了。所以,请随时纠正我。;)

嘿,我解决了我的问题

它按顺序排列这些行

Label1.Text = (dr.Read()) ? dr["Promts"].ToString() : "";

Label2.Text = (dr.Read()) ? dr["Promts"].ToString() : "";
谢谢大家

试试这个

using(SqlConnection cn = new SqlConnection("connection_string"))
{
   cn.Open();
   using(SqlDataAdapter adapter = new SqlDataAdapter("selest * from table_name",cn))
   {
       DataTable table = new DataTable();
       adapter.Fill(table);
       foreach(DataRow row in table.Rows)
       {
           //get column data for a row using row["column_name"].ToString()
       }
   }
}

是的,但请确保在连接和数据读取器周围放置using语句。至于排序,请在查询中使用服务器端。这取决于您需要在客户端应用程序中对这些数据执行什么操作。我将在标签中显示它们。如果您只有三个标签(或多或少)要读取并在页面加载时设置,则SqlDataReader是正确的使用类。在使用dr.GetString(0)时,通常会出现错误…如果我得到更多数据,我将执行dr[2].tostring();等等……对吗?dr[i]表示第i列中的数据。例如,dr[0]表示第1列中的数据,dr[1]表示第2列,依此类推。因此,根据上面的代码,在while循环的第一次迭代期间,检索第二列(dr[1])中的第一行。在第二次迭代期间,检索第二行,依此类推。