【发布时间】:2013-03-16 11:21:32
【问题描述】:
我正在循环访问我的数据库以显示与球员相关联的联赛列表。如果玩家不是任何联赛的成员,则会显示一条消息告诉他们。
这里是代码
if (dReader.Read())
{
while (dReader.Read())
{
usersLeagues.Text += "<li class=\"li-myLeagues\"><a href=\"leagueDetails.aspx?leagueID=" + (dReader["leagueID"].ToString()) + "\">" + (dReader["leagueName"].ToString()) + "</a></li>";
}
}
else
{
usersLeagues.Text = "You are currently not a part of any leagues";
}
dReader.Close();
conn.Close();
问题在于数据读取器未显示查询中的第一个联赛。
知道这是为什么吗?
【问题讨论】:
-
虽然这纯粹是一个猜测,但我必须检查该方法的文档,我想你的“if”条件会丢失第一行。您可能需要另一种方法来查看是否返回了数据。
-
去掉这个 if (dReader.Read()) 就可以正常工作了,不用写这个,如果没有数据就不会进入while循环。
标签: c# asp.net sqldatareader datareader