0

私は Web ベースのプログラムを書いていて、これが私の認証ページです。正常に動作していましたが、突然そのエラーが発生し始めました。

これが私のコードです:

 else if (LoginAs.SelectedValue == "Student")
        {
            string tableName = "StudentTable";
            String name = "", surname = "", email = "";
            string query = "Select level from " + tableName + " where ID='" + idBox.Text + "'";
            SqlCommand cmd = new SqlCommand(query, con);
            string level = Convert.ToString(cmd.ExecuteScalar());
            CreateUser(con, tableName, ref name, ref surname, ref email);
            query = "Select program from " + tableName + " where ID='" + idBox.Text + "'";
            cmd = new SqlCommand(query, con);
            string program = Convert.ToString(cmd.ExecuteScalar());
            MyGlobals.student = new Student(Convert.ToInt32(idBox.Text), "Active", email, name, surname, password, level, program);

            MyGlobals.currentID = idBox.Text;
            query = "Select * from RegisterTable where StudentID='" + idBox.Text + "'";

            cmd = new SqlCommand(query, con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);

            DataTable dt = new DataTable();
            da.Fill(dt);

            foreach (DataRow dr in dt.Rows)
            {
                query = "SELECT * FROM CourseTable WHERE CourseCode='" + dr["CourseCode"] + "' AND CourseNumber='" + dr["CourseNumber"] + "' AND Term='" + dr["Term"] + "'";
                cmd = new SqlCommand(query, con);
                SqlDataAdapter da2 = new SqlDataAdapter(cmd);

                DataTable dt2 = new DataTable();
                da2.Fill(dt2);
                DataRow dr2 = dt2.Rows[0];  //ERROR COMES AT HERE

                Course course = new Course(dr2["InstructorName"].ToString(), dr2["CourseCode"].ToString(), dr2["CourseNumber"].ToString(), dr2["CourseName"].ToString(), dr2["Term"].ToString(), dr2["CRN"].ToString(), dr2["Level"].ToString(), dr2["Credit"].ToString(), dr2["Description"].ToString(), dr2["Capacity"].ToString());
                Register reg = new Register(course, MyGlobals.student);

                MyGlobals.student.addToSchedule(reg);
            }
            int num = (int)Application["OnlineUsers"];
            Response.Redirect("Student.aspx");
        }

誰でもこれで私を助けることができますか?前もって感謝します。

4

1 に答える 1

0

例外がスローされる場所を指定しませんが、これの非常に一般的な理由 (私の意見) は、クエリが結果 (または行) を返さないことです。

于 2013-06-02T20:07:26.877 に答える