Daniel Harris
Daniel Harris

Reputation: 1905

MVC5 C# - System.IndexOutOfRangeException

I'm trying to retrieve data from a SQL database using MVC5 C# and storing the data into a ViewBag array. However, the code results in a IndexOutOfRangeException error.

query = "SELECT Id, UserName, List_Order FROM AspNetUsers WHERE LoggedIn = 1 ORDER BY 
List_Order ASC";
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager
.ConnectionStrings["DefaultConnection"].ConnectionString);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
int n = 0;
while(rdr.Read())
{
    if (rdr["UserName"].ToString() != null)
    {
        //Exception Details: System.IndexOutOfRangeException: LoggedIn
        ViewBag.speakers[n] = new string[4] { rdr["Id"].ToString(), rdr["UserName"]
.ToString(), rdr["List_Order"].ToString(), rdr["LoggedIn"].ToString() };
        n++;
    }
}

Upvotes: 0

Views: 979

Answers (1)

Daniel Harris
Daniel Harris

Reputation: 1905

Solution is I forgot to add LoggedIn column to the query.

query = "SELECT Id, UserName, List_Order, LoggedIn FROM AspNetUsers WHERE LoggedIn = 1 
ORDER BY List_Order ASC";

Upvotes: 1

Related Questions