将标签文本设置为从 SQL 数据库检索的数据

Setting Text of Label To Data Retrieved From SQL Database

我正在使用 ASP.NET Web 表单和 SQL 数据库构建网站。该数据库包含一个 table 和 571 条数据。将数据输出到标签时出现我的问题。截图如下。

数据库示例

源代码

using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
            {
                using (SqlCommand command = new SqlCommand("SELECT Id, Name, Townland, Near, Status, Built FROM Houses", connection))
                {
                    connection.Open();
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                                lblId.Text = reader[0].ToString();
                                lblName.Text = reader[1].ToString();
                                lblTown.Text = reader[2].ToString();
                                lblNear.Text = reader[3].ToString();
                                lblStatus.Text = reader[4].ToString();
                                lblBuilt.Text = reader[5].ToString();
                        }
                    }
                }
            }

预期输出

实际输出

我的问题是为什么它输出随机房子而不是从第一个开始?

因为你没有指示它应该使用哪种顺序:

SELECT Id, Name, Townland, Near, Status, Built FROM Houses ORDER BY Id

您没有返回所有行的 WHERE 子句。您的代码会将标签文本分配给返回的最后一行,这可能是偶然的任何行,因为您没有 ORDER by 子句。

看来你想展示多个房子。这将需要为每个房子单独设置一组标签。您的代码中只有一个明显。

您在 sql 查询中没有使用任何调节剂。

SELECT Id, Name, Townland, Near, Status, Built FROM Houses order by Id 

SELECT TOP 5 Id, Name, Townland, Near, Status, Built  FROM Houses ;--It select only first 5 values in the table