/// <summary> /// 查询学生成绩 /// </summary> /// <param name="student">需要查询成绩的学生</param> /// <param name="schoolYear">指定查询的学年</param> /// <param name="schoolTerm">指定查询的学期</param> /// <returns></returns> public static bool QueryStudentScore(Student student, string schoolYear, SchoolTermOptions schoolTerm, string queryPurpose, string queryType) { m_student = student; m_schoolTerm = schoolTerm; m_schoolYear = schoolYear; try { GetThreeParam(); HttpWebRequest requestGPA = GeneratePostData("第一专业平均学分绩", queryType); GetFinalInfo(requestGPA, QueryMode.GPA); if (queryPurpose == "查询") { GetThreeParam(); HttpWebRequest requestScore = GeneratePostData(queryPurpose, queryType); GetFinalInfo(requestScore, QueryMode.Score); } } catch (ScoreQuerierException querierexception) { throw querierexception; } catch { throw (new ScoreQuerierException("您的网络连接错误或者成绩查询网站已更改")); } return(true); }
static ScoreQuerier() { m_schoolTerm = SchoolTermOptions.First; m_schoolYear = null; m_url = "http://211.70.149.134:8080/stud_score/brow_stud_score.aspx"; m_viewState = null; m_viewStateGenerator = null; m_eventValidation = null; m_student = null; }
//构造函数 public Subject(string schoolYear, SchoolTermOptions schoolterm, string numberOfSubject, string nameOfSubject, float credits, string attribute, string numberOfTeacher, string nameOfTeacher, byte finalScore, byte ususalScore) { _schoolYear = schoolYear; _schoolterm = schoolterm; _numberOfSubject = numberOfSubject; _nameOfSubject = nameOfSubject; _credits = credits; _attribute = attribute; _numberOfTeacher = numberOfTeacher; _nameOfTeacher = nameOfTeacher; _finalScore = finalScore; _usualScore = ususalScore; }
private void btnQueryScore_Click(object sender, EventArgs e) { if (txtSchoolNumber.Text == string.Empty || txtIDNumber.Text == string.Empty) { MessageBox.Show("请填写正确的信息!"); return; } prcGetScore.Value = 0; prcGetScore.Value = 40; m_student = new Student(txtName.Text, txtSchoolNumber.Text, txtIDNumber.Text); string schoolYear = cboSchoolYear.SelectedIndex == 0 ? string.Empty : cboSchoolYear.SelectedItem.ToString(); SchoolTermOptions schoolTerm = (SchoolTermOptions)cboSchoolTerm.SelectedIndex; try { m_student.GetSubjectScore(schoolYear, schoolTerm, "查询", "全部成绩"); } catch (ScoreQuerierException exception) { MessageBox.Show(exception.Message); } prcGetScore.Value = 100; lvwSubjects.Items.Clear(); txtGPA.Clear(); lblCountOfSubjects.Text = string.Empty; for (int i = 0; i < m_student.Subjects.Count; i++) { lvwSubjects.Items.Add(m_student.Subjects[i].NumberOfSubject); lvwSubjects.Items[i].SubItems.Add(m_student.Subjects[i].NameOfSubject); lvwSubjects.Items[i].SubItems.Add(m_student.Subjects[i].Credits.ToString()); lvwSubjects.Items[i].SubItems.Add(m_student.Subjects[i].Attribute); lvwSubjects.Items[i].SubItems.Add(m_student.Subjects[i].NumberOfTeacher); lvwSubjects.Items[i].SubItems.Add(m_student.Subjects[i].NameOfTeacher); lvwSubjects.Items[i].SubItems.Add(m_student.Subjects[i].FinalScore.ToString()); lvwSubjects.Items[i].SubItems.Add(m_student.Subjects[i].UsualScore.ToString()); } txtGPA.Text = m_student.GPA.ToString(); lblCountOfSubjects.Text = "共: " + m_student.Subjects.Count.ToString() + "门课程数据!"; }
//获取成绩 /// <summary> /// 学生类的获取成绩方法,将自动从查询成绩的网页上获取成绩 /// </summary> /// <param name="schoolYear">查询指定学年的成绩</param> /// <param name="schoolTerm">查询指定学期的成绩</param> /// <returns>返回是否成功获取到成绩</returns> public bool GetSubjectScore(string schoolYear, SchoolTermOptions schoolTerm, string queryPurpose, string queryType) { return(ScoreQuerier.QueryStudentScore(this, schoolYear, schoolTerm, queryPurpose, queryType)); }