protected void btnAssignHomework_Click(object sender, EventArgs e) { string selectedHW = dropSelectHomework.SelectedValue.ToString(); string selectedClass = drpSelectClass.SelectedValue.ToString(); string setByTeacher = userID;//logged in teacher ---------------------------------------------------------------------------------------------- ArrayList studentsInSelectedClass = selectedClassStudentIDs(selectedClass); if (dueDateIn.Text != "") { string timeToComplete = originalTimeToCompleteCopy(); DateTime dueDate = Convert.ToDateTime(dueDateIn.Text); //create issued homework for (int i = 0; i < studentsInSelectedClass.Count; i++) { IssuedHomework newHW = new IssuedHomework(selectedHW, studentsInSelectedClass[i].ToString(), setByTeacher, timeToComplete, dueDate); newHW.createIssuedHomework(); } ArrayList newIssuedHW = new ArrayList(); IssuedHomework allIssHW = new IssuedHomework(); ArrayList arrAllIssHW = allIssHW.readAllNewIssuedHomework(); //adds newest issued hw id's to arraylist for (int i = 0; i < studentsInSelectedClass.Count; i++) { int currentHWID = (arrAllIssHW.Count - 1) - i; newIssuedHW.Add(arrAllIssHW[currentHWID]); } string questionQuery = "SELECT * FROM CoreQuestions WHERE CoreHomeworkParent = " + selectedHW; //ArrayList selectedQuestions = new ArrayList(); conn.Open(); SqlCommand cmd = new SqlCommand(questionQuery, conn); //cmd.Parameters.AddWithValue("@id", selectedHW); SqlDataReader re = cmd.ExecuteReader(); QuestionToAnswer newQ = new QuestionToAnswer(); while (re.Read()) { for (int i = 0; i < newIssuedHW.Count; i++)//homework count { string IssuedHomeworkID, QuestionText, QuestionNumber, MarksForQuestion; IssuedHomeworkID = newIssuedHW[i].ToString(); QuestionText = re["QuestionToAnswer"].ToString(); QuestionNumber = re["QuestionNumber"].ToString(); MarksForQuestion = re["MaximumMarksForQuestion"].ToString(); //homework id in the questions to answer db table is now an int //line 99 is where it breaks, if not line 100 //the hwid should be fine as a string but the conversion is breaking somwhere, making both sides an int didnt help (the string was referencing an int) // newQ = new QuestionToAnswer(IssuedHomeworkID, QuestionText, QuestionNumber, MarksForQuestion); newQ.createQuestionToAnswer(); } } conn.Close(); dueDateIn.Text = ""; lblErrorMessage.Visible = false; divErrorMessage.Visible = false; lblSuccessMessage.Visible = true; divSuccessMessage.Visible = true; } else { lblErrorMessage.Visible = true; divErrorMessage.Visible = true; lblSuccessMessage.Visible = false; divSuccessMessage.Visible = false; } }