将返回的数据从SQL存储到Asp:Label中

时间:2014-03-04 20:29:56

标签: c# asp.net sql

当行状态为特定值时,我正在使用SQL SELECT字符串返回数据库中的所有值。然后我将这些信息存储到标签中。我的问题是,当我选择没有“WHERE status = 2”部分的所有内容时,一切都很好,但是当我尝试指定我的标签只包含一个值而不是列表时。

SQL = "SELECT * FROM HonApp.dbo.apps WHERE status=2";

..create sql data reader here..

myReader.Read();
if (myReader.HasRows)
  {
     while (myReader.Read())
  {
     emailList.Text += myReader[5].ToString() + ", ";
  }
}

我认为正在发生的事情是,不是迭代并附加每封电子邮件,而是每次都覆盖标签。任何我可能错的想法?

注意:它在没有“WHERE status”部分的情况下工作,但它返回数据库中的所有值;我只想要状态为2的电子邮件。

1 个答案:

答案 0 :(得分:1)

你在myReader.Read()循环之前调用while,这将跳过你的第一个记录。所以如果有一个记录具有给定的id,那么你基本上忽略了它,这就是为什么你看不到标签中的任何内容。您应该删除该行。您的while循环没问题,因为您使用的+=不会覆盖您的值。如果有一个或多个记录具有给定的ID(2在这种情况下)它应该正常工作。