public CStuGradePage()
        {
            InitializeComponent();
            using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=ClassSystem;User ID=sa;Password=root"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select Sno,Sname,Cname,Grade from Stu_Grade";

                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    DataSet        dataset = new DataSet();
                    adapter.Fill(dataset);  //把查询结果填充到dataset
                    DataTable         table = dataset.Tables[0];
                    DataRowCollection rows  = table.Rows;
                    List <StuGrade>   t     = new List <StuGrade>();

                    for (int i = 0; i < rows.Count; i++)
                    {
                        DataRow row   = rows[i];
                        string  Sno   = (string)row["Sno"];
                        string  Sname = (string)row["Sname"];
                        string  Cname = (string)row["Cname"];
                        Int32   Grade = (Int32)row["Grade"];


                        StuGrade info = new StuGrade
                        {
                            Sno   = Sno,
                            Sname = Sname,
                            Cname = Cname,
                            Grade = Grade
                        };
                        t.Add(info);
                    }
                    this.datagrid1.ItemsSource = t;
                }
            }
        }
        private void BTN_SG_Search_Click(object sender, RoutedEventArgs e)
        {
            using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=ClassSystem;User ID=sa;Password=root"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.Parameters.Add(new SqlParameter("@S_SG", TB_SG.Text));
                    cmd.CommandText = "select Sno,Sname,Cname,Grade from Stu_Grade where Sno=@S_SG or Sname=@S_SG";

                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    DataSet        dataset = new DataSet();
                    adapter.Fill(dataset);  //把查询结果填充到dataset
                    DataTable         table = dataset.Tables[0];
                    DataRowCollection rows  = table.Rows;
                    List <StuGrade>   t     = new List <StuGrade>();

                    for (int i = 0; i < rows.Count; i++)
                    {
                        DataRow row   = rows[i];
                        string  Sno   = (string)row["Sno"];
                        string  Sname = (string)row["Sname"];
                        string  Cname = (string)row["Cname"];
                        Int32   Grade = (Int32)row["Grade"];


                        StuGrade info = new StuGrade
                        {
                            Sno   = Sno,
                            Sname = Sname,
                            Cname = Cname,
                            Grade = Grade
                        };
                        t.Add(info);
                    }
                    this.datagrid1.ItemsSource = t;
                }
            }
        }
        public string getRemoteGrade(string id, string pw)
        {
            if (!Validation.IDValidation(id))
                return "Wrong Input";
            try
            {
                ProjectDBEntities PDb = new ProjectDBEntities();
                int count = PDb.StudentInfo.Where(s => s.SID == id).Count();
                if (count == 0)
                    return "False";

                IQueryable<StuGrade> allGrades = from eve in PDb.StuGrade
                                                 where eve.SID == id
                                                 select eve;
                foreach (StuGrade item in allGrades)
                {
                    PDb.StuGrade.Remove(item);
                }
                CookieContainer cookieContainer = new CookieContainer();
                Encoding GB2312Encoding = Encoding.GetEncoding("GB2312");
                // Login to JWC.CQU.EDU.CN
                // Note that this url changes from time to time
                string loginUrl = @"http://202.202.1.176/login.asp";
                string loginParameters = "username="******"&password="******";
                RequestHandler.SendSynchronousRequest(loginUrl, loginParameters, "POST", GB2312Encoding, cookieContainer);
                string getUrl = @"http://202.202.1.176/score/sel_score/sum_score_sel.asp";
                string result = RequestHandler.SendSynchronousRequest(getUrl, loginParameters, "GET", GB2312Encoding, cookieContainer);
                //Regex GPARegex = new Regex(@"\d\.\d\d");
                //var GPARegexMatches = GPARegex.Matches(result);
                //String GPA = GPARegexMatches[0].Value;
                //string CoursesRegexString = "/(?<=    <td VALIGN=\"center\" width=\"210\" height=\"23\"> [^.][^.][^.][^.]      ).*/g";
                string CoursesRegexString = "(?<=    <td VALIGN=\"center\" width=\"210\" height=\"23\"> \r\n      ).*";
                Regex CoursesRegex = new Regex(CoursesRegexString);
                var CoursesRegexMatches = CoursesRegex.Matches(result);
                string GradeRegexString = "(?<=    <td  align=\"center\" VALIGN=\"center\" width=\"43\" height=\"23\">\r\n).*";
                Regex GradeRegex = new Regex(GradeRegexString);
                var GradeRegexMatches = GradeRegex.Matches(result);
                string CreditRegexString = "(?<=    <td  align=\"center\" VALIGN=\"center\" width=\"43\" height=\"23\"> \r\n      ).*";
                Regex CreditRegex = new Regex(CreditRegexString);
                var CreditRegexMatches = CreditRegex.Matches(result);
                string TypeRegexString = "(?<=    <td  align=\"center\" VALIGN=\"center\" width=\"53\" height=\"23\"> \r\n      \r\n).*";
                Regex TypeRegex = new Regex(TypeRegexString);
                var TypeRegexMatches = TypeRegex.Matches(result);
                string TeacherRegexString = "(?<=    <td align=\"center\"  VALIGN=\"center\" width=\"60\" height=\"23\"> \r\n       ).*";
                Regex TeacherTypeRegex = new Regex(TeacherRegexString);
                var TeacherTypeRegexMatches = TeacherTypeRegex.Matches(result);
                string TestTypeRegexString = "(?<=    <td align=\"center\"  VALIGN=\"center\" width=\"54\" height=\"23\"> \r\n).*";
                Regex TestTypeRegex = new Regex(TestTypeRegexString);
                var TestTypeRegexMatches = TestTypeRegex.Matches(result);
                //System.Console.WriteLine(CreditRegexMatches.Count);
                //System.Console.WriteLine(CoursesRegexMatches.Count);
                //System.Console.WriteLine(GradeRegexMatches.Count);
                //System.Console.WriteLine(TypeRegexMatches.Count);
                //System.Console.WriteLine(TeacherTypeRegexMatches.Count);
                //System.Console.WriteLine(TestTypeRegexMatches.Count);
                List<GradeItem> gList = new List<GradeItem>();
                for (int i = 0; i < CoursesRegexMatches.Count; i++)
                {
                    GradeItem gi = new GradeItem();
                    gi.Name = CoursesRegexMatches[i].Value;
                    gi.Name = gi.Name.Substring(0, gi.Name.Length - 1);
                    gi.Grade = GradeRegexMatches[i].Value;
                    gi.Grade = gi.Grade.Substring(1, gi.Grade.Length - 2);
                    gi.Type = TypeRegexMatches[i].Value.Substring(3);
                    gi.Credit = CreditRegexMatches[i].Value;
                    gi.Credit = gi.Credit.Substring(0, gi.Credit.Length - 1);
                    gi.Teacher = TeacherTypeRegexMatches[i].Value;
                    gi.Teacher = gi.Teacher.Substring(0, gi.Teacher.Length - 1);
                    gi.TestType = TestTypeRegexMatches[i].Value.Substring(1);
                    gi.TestType = gi.TestType.Substring(0, gi.TestType.Length - 1);
                    gList.Add(gi);
                }
                foreach (GradeItem item in gList)
                {
                    StuGrade sg = new StuGrade
                    {
                        SID = id,
                        G_NAME = item.Name,
                        G_GRADE = item.Grade,
                        G_CREDIT = item.Credit,
                        G_TEACHER = item.Teacher,
                        G_TYPE = item.Type,
                        G_TESTTYPE = item.TestType
                    };
                    PDb.StuGrade.Add(sg);
                }
                PDb.SaveChanges();
                return "True";
            }
            catch
            {
                return "False";
            }
        }