Hello,
I have a webpage that allow the student to register courses and I want to display an error message if the student choose a course that has been taken before and already in the gridview.
Everything in the code is working fine,but when I use this loop
for (int i = 0; i < GridView1.Rows.Count;i++)
the code check the firt row only.
How can I make the for loop go through the all rows of gridview
What I have tried:
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count;i++)
{
if (GridView1.Rows[i].Cells[4].Text == DropDownList2.SelectedValue.ToString())
{
}
else
{
string stid = Label1.Text;
string coursecode = DropDownList2.SelectedValue.ToString();
string docid = lblDocID.Text;
string semester = lblSemester.Text;
string sessiondays = lblSessionDays.Text;
string days = lblDays.Text;
string timing = lblTiming.Text;
string startid = lblStartTime.Text;
string endtime = lblEndTime.Text;
string roomid = lblRoomID.Text;
SqlConnection ConnString = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
String query = "insert into Registration values (@St_ID, @Semester, @CourseCode, @Doc_ID, @SessionDays, @Days, @Timing, @StartTime, @EndTime, @RoomID)";
SqlCommand cmd = new SqlCommand(query);
cmd.Connection = ConnString;
cmd.Parameters.AddWithValue("@St_ID", stid);
cmd.Parameters.AddWithValue("@Semester", semester);
cmd.Parameters.AddWithValue("@CourseCode", coursecode);
cmd.Parameters.AddWithValue("@Doc_ID", docid);
cmd.Parameters.AddWithValue("@SessionDays", sessiondays);
cmd.Parameters.AddWithValue("@Days", days);
cmd.Parameters.AddWithValue("@Timing", timing);
cmd.Parameters.AddWithValue("@StartTime", startid);
cmd.Parameters.AddWithValue("@EndTime", endtime);
cmd.Parameters.AddWithValue("@RoomID", roomid);
ConnString.Open();
cmd.ExecuteNonQuery();
ConnString.Close();
Response.Redirect("~/StudentAddDropCourse.aspx");
}
}
}