I am looping through my database to display a list of leagues a player is associated with. If a player is not a member of any leagues then a message displays to tell them.
Here is the code
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();
The issue is that the data reader is not displaying the first league in the query.
Any idea why this is?
Change
if (dReader.Read()){
to
if (dReader.HasRows){
By calling the Read() in the if statement, you actually are reading the first row of data. Calling Read() again in the while statement, skips the first read row.
You can use HasRows property to check if the reader contains any data.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With