C# 如何逐行从表中检索数据?
我在sql server数据库中有一个表,如下所示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
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])中的第一行。在第二次迭代期间,检索第二行,依此类推。