Reputation: 1905
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
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