我正在使用SQL数据库在ASP.NET Web窗体中构建一个网站。该数据库包含一个包含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();
}
}
}
}
预期输出
实际输出
我的问题是为什么输出一个随机的房子而不是从第一个开始?
答案 0 :(得分:0)
因为您没有指示它应该使用哪种排序:
SELECT Id, Name, Townland, Near, Status, Built FROM Houses ORDER BY Id
答案 1 :(得分:0)
您没有返回所有行的WHERE
子句。您的代码会将标签文本分配给返回的最后一行,这可能是偶然的任何行,因为您没有ORDER by子句。
看来你想要展示多栋房屋。这将需要为每个房子设置一套单独的标签。您的代码中只有一个显而易见。
答案 2 :(得分:0)
你没有在你的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