private async void Button_Click(object sender, RoutedEventArgs e) { this.Loaddata.IsActive = true; List<TeachClassStu> studatalist = new List<TeachClassStu>(); //AccessDBHelper.ConnectDB(App.Databasefilepath); string sql = "select * from A041518124736"; await Task.Run(() => { OleDbDataReader reader = AccessDBHelper.ExecuteReader(sql, App.Databasefilepath); while (reader.Read()) { TeachClassStu tcsa = new TeachClassStu(); tcsa.StuNum = reader["stunum"].ToString(); tcsa.StuName = reader["stuname"].ToString(); tcsa.Sex = reader["sex"].ToString(); tcsa.Subject = reader["subject"].ToString(); tcsa.ClassNum = reader["classnum"].ToString(); tcsa.ClassState = reader["classstate"].ToString(); tcsa.ClassType = reader["classtype"].ToString(); tcsa.Num = Convert.ToInt32(reader["num"].ToString()); studatalist.Add(tcsa); } }); await Task.Delay(1000); studatalist.Sort(new TeachClassStu()); this.stulist.DataContext = studatalist; this.Loaddata.IsActive = false; //DataTable dt = new DataTable(); //DataRow dr; //for (int i = 0; i < reader.FieldCount; i++) //{ // DataColumn dc; // dc = new DataColumn(reader.GetName(i)); // dt.Columns.Add(dc); //} //while (reader.Read()) //{ // dr = dt.NewRow(); // for (int i = 0; i < reader.FieldCount; i++) // { // dr[reader.GetName(i)] = reader[reader.GetName(i)].ToString(); // } //} }
public static List<TeachClassStu> GetStuList(string courseclassnum) { //AccessDBHelper.ConnectDB(App.Databasefilepath); List<TeachClassStu> studatalist = new List<TeachClassStu>(); string sql = "select * from " + courseclassnum; OleDbDataReader reader = AccessDBHelper.ExecuteReader(sql, App.Databasefilepath); while (reader.Read()) { TeachClassStu tcsa = new TeachClassStu(); tcsa.StuNum = reader["stunum"].ToString(); tcsa.StuName = reader["stuname"].ToString(); tcsa.Sex = reader["sex"].ToString(); tcsa.Subject = reader["subject"].ToString(); tcsa.ClassNum = reader["classnum"].ToString(); tcsa.ClassState = reader["classstate"].ToString(); tcsa.ClassType = reader["classtype"].ToString(); tcsa.Num = Convert.ToInt32(reader["num"].ToString()); studatalist.Add(tcsa); } reader.Close(); AccessDBHelper.CloseConnectDB(); return studatalist; }
async void getstulist(string strurl) { this.Loaddata.IsActive = true; this.stulist.DataContext = null; studatalist.Clear(); //List<TeachClassStu> studatalist = new List<TeachClassStu>(); //AccessDBHelper.ConnectDB(App.Databasefilepath); string sql = String.Format("select * from {0}", strurl); await Task.Run(() => { OleDbDataReader reader = AccessDBHelper.ExecuteReader(sql, App.Databasefilepath); while (reader.Read()) { TeachClassStu tcsa = new TeachClassStu(); tcsa.StuNum = reader["stunum"].ToString(); tcsa.StuName = reader["stuname"].ToString(); tcsa.Sex = reader["sex"].ToString(); tcsa.Subject = reader["subject"].ToString(); tcsa.ClassNum = reader["classnum"].ToString(); tcsa.ClassState = reader["classstate"].ToString(); tcsa.ClassType = reader["classtype"].ToString(); tcsa.Num = Convert.ToInt32(reader["num"].ToString()); studatalist.Add(tcsa); } }); await Task.Delay(1000); studatalist.Sort(new TeachClassStu()); this.stulist.DataContext = studatalist; this.Loaddata.IsActive = false; }
/// <summary> /// 获得学生名单 /// </summary> /// <param name="ms"></param> /// <param name="doc"></param> /// <param name="docStockContext"></param> /// <param name="client"></param> /// <param name="url">网页地址</param> /// <param name="stulist">学生名单集合</param> private static void GetJxbStuList(out MemoryStream ms, HtmlDocument doc, HtmlDocument docStockContext, WebClient client, string url, out List<TeachClassStu> stulist) { byte[] downloadbytes = DownLoad(url); stulist = new List<TeachClassStu>(); string table; if (downloadbytes.Length > 1 && downloadbytes[0] != 0) { ms = new MemoryStream(downloadbytes); if (url[59] == ('S') || url[59] == ('T')) { doc.Load(ms, Encoding.GetEncoding("gbk")); table = doc.DocumentNode.SelectSingleNode("/html/body/table[1]").InnerHtml; } else { doc.Load(ms, Encoding.GetEncoding("gb2312")); table = doc.DocumentNode.SelectSingleNode("/table[1]").InnerHtml; } } else { ms = null; stulist = null; return; } //ms = new MemoryStream(DownLoad(url)); //doc.Load(ms, Encoding.GetEncoding("gbk")); docStockContext.LoadHtml(table); //取得表头 HtmlNodeCollection nodeHeaders = docStockContext.DocumentNode.SelectNodes("/tr[1]/td"); //输出表头 foreach (var item in nodeHeaders) { Debug.Write(item.InnerText + " "); } //获得名单 HtmlNodeCollection list = docStockContext.DocumentNode.SelectNodes("/tr"); list.RemoveAt(0); foreach (var item in list) { var dd = item.SelectNodes("td"); //var num = Convert.ToInt32(dd[0].InnerText.Trim()); var stunum = dd[2].InnerText.Trim(); var name = dd[3].InnerText.Trim(); var sex = dd[4].InnerText.Trim(); var subject = dd[1].InnerText.Trim(); var classnum = dd[5].InnerText.Trim(); string classtype = ""; string state = ""; try { classtype = dd[7].InnerText.Trim(); state = dd[6].InnerText.Trim(); } catch { } Debug.WriteLine("{0},{1},{2},{3},{4},{5},{6}", stunum, name, sex, subject, classnum, classtype, state); TeachClassStu t = new TeachClassStu { StuNum = stunum, Subject = subject, StuName = name, Sex = sex, ClassNum = classnum, ClassType = classtype, ClassState = state }; stulist.Add(t); } }