課程設(shè)計(jì)---日常教學(xué)情況反饋系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  《Web技術(shù)與開(kāi)發(fā)(ASP.NET)》</p><p><b>  課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p>  設(shè) 計(jì) 題 目: 日常教學(xué)情況反饋系統(tǒng)</p><p><b>  指 導(dǎo) 老 師:</b></p><p>  學(xué) 生 學(xué) 號(hào):

2、 </p><p>  學(xué) 生 姓 名: </p><p>  同 組 人: </p><p>  時(shí) 間: 2012 年 6 月 14日 </p><p><b>  摘 要</b></p>

3、<p>  在這個(gè)信息化時(shí)代,軟件的出現(xiàn)節(jié)省的許多人力和時(shí)間,逐漸成為生活中必不可少的一部分。</p><p>  在我院,教學(xué)信息填報(bào)員每周都要向系部辦公室提交一周的教學(xué)情況周志,日志,然后讓教師瀏覽,老師能針對(duì)具體情況采取準(zhǔn)確的措施。但是由于數(shù)量的繁多給老師在閱讀上和分類(lèi)上帶來(lái)了極大的不便。</p><p>  根據(jù)以上的缺點(diǎn),我做出了一個(gè)可以解決這些難題的系統(tǒng),通過(guò)這個(gè)系

4、統(tǒng),學(xué)生可以隨時(shí)上傳,不需要向系辦提交;系辦教師可以隨時(shí)瀏覽,更好的分類(lèi)以及查看缺勤情況,儲(chǔ)存以及以后查閱也比較方便。</p><p>  關(guān)鍵詞:ASP.NET SQL Server 日志 周志</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p&

5、gt;<p>  第1章 設(shè)計(jì)目的1</p><p>  1.1 設(shè)計(jì)目的1</p><p>  第2章 總體設(shè)計(jì)2</p><p>  2.1程序設(shè)計(jì)組成框圖2</p><p><b>  2.2流程圖2</b></p><p><b>  2.3關(guān)系圖2&l

6、t;/b></p><p>  2.4數(shù)據(jù)庫(kù)分析與設(shè)計(jì)3</p><p>  第3章 詳細(xì)設(shè)計(jì)4</p><p>  3.1 模塊功能說(shuō)明4</p><p>  3.2 登錄模塊4</p><p>  3.3 投票模塊4</p><p>  3.4 排序模塊4</p>

7、;<p>  3.5 系統(tǒng)設(shè)置模塊4</p><p>  3.6 數(shù)據(jù)庫(kù)表設(shè)計(jì)4</p><p>  第4章 系統(tǒng)實(shí)現(xiàn)6</p><p><b>  4.1錄入模塊6</b></p><p>  4.2 投票模塊6</p><p><b>  4.3排序模塊7&

8、lt;/b></p><p>  4.4系統(tǒng)設(shè)置模塊8</p><p><b>  結(jié)束語(yǔ)9</b></p><p>  附錄A: 主要源程序11</p><p><b>  第1章 設(shè)計(jì)目的</b></p><p><b>  1.1 設(shè)計(jì)目的<

9、/b></p><p>  網(wǎng)絡(luò)信息的日益豐富,人們的生活變得更加方便快捷。在這個(gè)信息化時(shí)代,軟件的出現(xiàn)節(jié)省的許多人力和時(shí)間,逐漸成為生活中必不可少的一部分。</p><p>  學(xué)校教學(xué)信息填報(bào)員每周都要向系部辦公室提交一周的教學(xué)情況周志,日志,然后讓教師瀏覽,老師能針對(duì)具體情況采取準(zhǔn)確的措施。但是由于數(shù)量的繁多給老師在閱讀上和分類(lèi)上帶來(lái)了極大的不便。這些工作浪費(fèi)了大量的時(shí)間,學(xué)校

10、還要對(duì)這些文檔進(jìn)行整理保存。如果要查看以前某一期的報(bào)表還要花費(fèi)時(shí)間去尋找。這些工作浪費(fèi)大量的人力物力,給教學(xué)工作帶來(lái)不便。</p><p>  根據(jù)以上的缺點(diǎn),我做出了一個(gè)可以解決這些難題的系統(tǒng),通過(guò)這個(gè)系統(tǒng),學(xué)生可以隨時(shí)上傳,不需要向系辦提交;系辦教師可以隨時(shí)瀏覽,更好的分類(lèi)以及查看缺勤情況,儲(chǔ)存以及以后查閱也比較方便。網(wǎng)上教學(xué)反饋系統(tǒng)即便于管理、保存、查詢(xún)和統(tǒng)計(jì)反饋的信息,提高效率,又可節(jié)省大量紙張。學(xué)校只需

11、要招幾名管理員對(duì)這個(gè)系統(tǒng)進(jìn)行管理就可以了。任課教師可以很方便的對(duì)各種情況進(jìn)行查詢(xún),大大提高了工作效率。</p><p><b>  1.2系統(tǒng)分析</b></p><p>  日常教學(xué)情況反饋系統(tǒng)需要滿(mǎn)足三種用戶(hù)的需求,這三種用戶(hù)分別是班級(jí)信息員,教師,系統(tǒng)管理員。班級(jí)信息員可以通過(guò)網(wǎng)絡(luò)填寫(xiě)信息;教師可以瀏覽學(xué)生填寫(xiě)的信息;系統(tǒng)管理員可以對(duì)信息進(jìn)行維護(hù)。各班信息員登錄

12、后,可顯示信息填報(bào)頁(yè)面,可分別填寫(xiě)教學(xué)日志和教學(xué)周志。頁(yè)面中應(yīng)能自動(dòng)顯示系、班級(jí)、信息員姓名、學(xué)號(hào)、周次、日期等信息。信息員對(duì)本班教師的教學(xué)情況進(jìn)行信息反饋。填報(bào)完畢后上傳,上傳后,系教學(xué)秘書(shū)和主管教學(xué)的系領(lǐng)導(dǎo)可通過(guò)登錄系統(tǒng)看到反饋情況,瀏覽各班填報(bào)的反饋表格。系教學(xué)秘書(shū)和主管教學(xué)的系領(lǐng)導(dǎo)登錄后,可瀏覽各班填報(bào)的日?qǐng)?bào)表和周報(bào)表。頁(yè)面中可給各班信息員以指導(dǎo)性意見(jiàn)??纱蛴「靼嗟娜?qǐng)?bào)表和周報(bào)表。各班信息員登錄后,可瀏覽自己以前填報(bào)的日?qǐng)?bào)表和周

13、報(bào)表,還可查看系教學(xué)秘書(shū)和主管教學(xué)領(lǐng)導(dǎo)的指導(dǎo)意見(jiàn)。也可打印相應(yīng)的表格。</p><p><b>  第2章 總體設(shè)計(jì)</b></p><p>  2.1程序設(shè)計(jì)組成框圖</p><p><b>  2.2流程圖</b></p><p><b>  2.3關(guān)系圖</b></

14、p><p>  2.4數(shù)據(jù)庫(kù)分析與設(shè)計(jì)</p><p><b>  第3章 詳細(xì)設(shè)計(jì)</b></p><p>  3.1 模塊功能說(shuō)明</p><p><b>  系統(tǒng)包括大模塊, </b></p><p><b>  3.2 登錄模塊</b></p&

15、gt;<p><b>  3.3 投票模塊</b></p><p><b>  3.4 排序模塊</b></p><p>  3.5 系統(tǒng)設(shè)置模塊</p><p>  3.6 數(shù)據(jù)庫(kù)表設(shè)計(jì)</p><p><b>  第4章 系統(tǒng)實(shí)現(xiàn)</b></p>

16、<p><b>  4.1錄入模塊</b></p><p><b>  4.2 投票模塊</b></p><p><b>  4.3排序模塊</b></p><p><b>  4.4系統(tǒng)設(shè)置模塊</b></p><p><b>  

17、結(jié)束語(yǔ)(心得體會(huì))</b></p><p><b>  參考文獻(xiàn):</b></p><p>  [01]閆洪亮.Asp.Net程序設(shè)計(jì)案例教程[M]:北京.北京大學(xué)出版社. 2010.1</p><p>  [02]郝興偉.Web程序設(shè)計(jì)[M]:北京.中國(guó)水利水電出版社. 2008</p><p>  附錄A

18、: 主要源程序</p><p><b>  網(wǎng)上投票系統(tǒng)源程序</b></p><p><b>  (1)Dal層</b></p><p>  public static OleDbConnection createCon = new OleDbConnection("Provider=Microsoft.Jet

19、.OleDb.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Vote.mdb"));</p><p>  public DataTable GetDataTable(string SQL)</p><p><b>  {</b>&

20、lt;/p><p>  DataTable dt = new DataTable();</p><p>  openconn();</p><p>  OleDbDataAdapter da = new OleDbDataAdapter(SQL, createCon);</p><p>  da.Fill(dt);</p><

21、p>  da.Dispose();</p><p>  closeconn();</p><p>  return dt;</p><p><b>  }</b></p><p>  public DataTable GetDataTable(string Sql, OleDbParameter[] Paramer

22、ters)</p><p><b>  {</b></p><p>  DataTable dt = new DataTable();</p><p>  openconn();</p><p>  OleDbCommand cmd = new OleDbCommand(Sql, createCon);</p>

23、;<p>  cmd.Parameters.AddRange(Paramerters);</p><p>  OleDbDataAdapter da = new OleDbDataAdapter(cmd);</p><p>  da.Fill(dt);</p><p>  cmd.Dispose();</p><p>  clo

24、seconn();</p><p>  return dt;</p><p><b>  }</b></p><p>  #region 控制conn的鏈接和關(guān)閉</p><p>  internal void closeconn()</p><p><b>  {</b>&

25、lt;/p><p>  if (createCon.State == ConnectionState.Open)</p><p>  { createCon.Close(); }</p><p><b>  }</b></p><p>  internal void openconn()&

26、lt;/p><p><b>  {</b></p><p>  if (createCon.State == ConnectionState.Closed)</p><p><b>  {</b></p><p><b>  try</b></p><p>

27、  { createCon.Open(); }</p><p><b>  catch</b></p><p><b>  {</b></p><p>  throw new Exception("沒(méi)有找到數(shù)據(jù)文件");</p><

28、p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  #endregion</p><p>  public void ExecuteNonQuery(string OleDb)</p>

29、<p><b>  {</b></p><p>  openconn();</p><p>  OleDbCommand cmd = new OleDbCommand(OleDb, createCon);</p><p>  cmd.ExecuteNonQuery();</p><p>  cmd.Disp

30、ose();</p><p>  closeconn();</p><p><b>  }</b></p><p>  public void ExecuteNonQuery(string SQL, OleDbParameter[] Paramerters)</p><p><b>  {</b>&

31、lt;/p><p>  openconn();</p><p>  OleDbCommand cmd = new OleDbCommand(SQL, createCon);</p><p>  cmd.Parameters.AddRange(Paramerters);</p><p>  cmd.ExecuteNonQuery();</p&

32、gt;<p>  closeconn();</p><p><b>  }</b></p><p>  public void ExecuteNonQueryNOClose(string SQL, OleDbParameter[] Paramerters)</p><p><b>  {</b></p&

33、gt;<p>  OleDbCommand cmd = new OleDbCommand(SQL, createCon);</p><p>  cmd.Parameters.AddRange(Paramerters);</p><p>  cmd.ExecuteNonQuery();</p><p><b>  } </b&g

34、t;</p><p><b> ?。?)Login</b></p><p>  Dal dal = new Dal();</p><p>  protected void ImageButton1_Click(object sender, ImageClickEventArgs e)</p><p><b> 

35、 {</b></p><p>  string sql = "SELECT PWD from StudentInfo where StudentName=@Code and Type=@type";</p><p>  OleDbParameter[] Parameter = { new OleDbParameter("@Code", O

36、leDbType.VarChar, 50)</p><p>  ,new OleDbParameter("@type", OleDbType.Integer, 4)};</p><p>  Parameter[0].Value = this.TextBox1.Text.Trim();</p><p>  Parameter[1].Value =

37、1;</p><p>  DataTable dt = dal.GetDataTable(sql, Parameter);</p><p>  if (dt.Rows.Count == 0)</p><p><b>  {</b></p><p>  Page.ClientScript.RegisterStartupSc

38、ript(this.GetType(), "sss", "alert('此帳號(hào)不存在!請(qǐng)先注冊(cè)用戶(hù)!');", true);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if (this.TextBo

39、x2.Text.Trim() != dt.Rows[0][0].ToString())</p><p><b>  {</b></p><p>  Page.ClientScript.RegisterStartupScript(this.GetType(), "sss", "alert('密碼不正確!請(qǐng)重新登錄!');&q

40、uot;, true);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  HttpCookie cook = new HttpCookie("UserCode", this.TextBox1.Text.Trim());</p>

41、<p>  Response.Cookies.Add(cook);</p><p>  Response.Redirect("../Vote/Vote.aspx");</p><p><b>  }</b></p><p><b> ?。?)Sets</b></p><p

42、>  Dal dal = new Dal();</p><p>  protected void Button1_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  int ID=0,num = 0, mustNum = 0;</p><p&g

43、t;<b>  try</b></p><p><b>  {</b></p><p>  if (TextBox1.Text != "")</p><p><b>  {</b></p><p>  string str = "select *

44、from VoteInfo where VoteContent='" + DropDownList1.SelectedValue.ToString() + "'";</p><p>  DataTable dt = dal.GetDataTable(str);</p><p>  foreach (DataRow dr in dt.Rows)&

45、lt;/p><p><b>  {</b></p><p>  ID = int.Parse (dr["ID"].ToString());</p><p><b>  }</b></p><p>  string insert = "insert into VoteRes(

46、VoteID,CanName,Num) values(" +ID + ",'" + this.TextBox1.Text + "'," + 0 + ")";</p><p>  dal.ExecuteNonQuery(insert);</p><p>  Page.ClientScript.Registe

47、rStartupScript(this.GetType(), "sss", "alert('添加成功!');", true);</p><p>  Response.Redirect("CanAdd.aspx");</p><p><b>  }</b></p><p>

48、;  else { Response.Write("<script>alert(\"不能為空! ! !\")</script>"); }</p><p><b>  }</b></p><p><b>  catch</b></p><p><b>

49、  {</b></p><p>  Page.ClientScript.RegisterStartupScript(this.GetType(), "sss", "alert('添加失??!');", true);</p><p><b>  }</b></p><p><

50、b>  }</b></p><p><b> ?。?)Vote</b></p><p>  Dal dal = new Dal();</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {&l

51、t;/b></p><p>  if (!IsPostBack)</p><p><b>  {</b></p><p>  string sql = "select ID,VoteContent,MustNum from VoteInfo";</p><p>  DataTable dt =

52、dal.GetDataTable(sql);</p><p>  TreeNode tn = new TreeNode("正在進(jìn)行的選票活動(dòng)");</p><p>  foreach (DataRow dr in dt.Rows)</p><p><b>  {</b></p><p>  TreeN

53、ode tnc = new TreeNode();</p><p>  tnc.Text = dr["VoteContent"].ToString();</p><p>  tnc.Value = dr["ID"].ToString() + "," + dr["MustNum"].ToString();<

54、/p><p>  tn.ChildNodes.Add(tnc);</p><p><b>  }</b></p><p>  this.TreeView1.Nodes.Add(tn);</p><p><b>  }</b></p><p><b>  }</b&

55、gt;</p><p>  protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (this.TreeView1.SelectedNode == null)</p><

56、p><b>  return;</b></p><p>  this.Button1.Enabled = true;</p><p>  this.Label1.Text = this.TreeView1.SelectedNode.Text;</p><p>  this.Label2.Text = this.TreeView1.Sele

57、ctedNode.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[1].Trim();</p><p>  string sql = "select ID,CanName from VoteRes where VoteID=" + this.TreeView1.SelectedNode

58、.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();</p><p>  DataTable dt = dal.GetDataTable(sql);</p><p>  this.CheckBoxList1.DataTextField = "CanNam

59、e";</p><p>  this.CheckBoxList1.DataValueField = "ID";</p><p>  this.CheckBoxList1.DataSource = dt;</p><p>  this.CheckBoxList1.DataBind();</p><p><b&

60、gt;  }</b></p><p>  protected string UserCode()</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  

61、HttpCookie cook = Request.Cookies["UserCode"];</p><p>  if (cook == null)</p><p>  Response.Redirect("../Login/Login.aspx");</p><p>  return cook.Value;</p>

62、;<p><b>  }</b></p><p><b>  catch</b></p><p><b>  {</b></p><p>  Response.Redirect("../Login/Login.aspx");</p><p> 

63、 return string.Empty;</p><p><b>  }</b></p><p><b>  }</b></p><p>  protected void Button1_Click(object sender, EventArgs e)</p><p><b>  {&

64、lt;/b></p><p>  string idlist = string.Empty;</p><p>  for (int i = 0; i < this.CheckBoxList1.Items.Count; i++)</p><p><b>  {</b></p><p>  if (this.Ch

65、eckBoxList1.Items[i].Selected)</p><p>  idlist += "'" + this.CheckBoxList1.Items[i].Text + "',";</p><p><b>  }</b></p><p>  if (idlist.Split(

66、new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Length.ToString() != this.Label2.Text.Trim())</p><p><b>  {</b></p><p>  Page.ClientScript.RegisterStartupScript(th

67、is.GetType(), "sss", "alert('投票不合規(guī)測(cè)!');", true);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  string sql = "select 1 f

68、rom VoteLog where Vote=" + this.TreeView1.SelectedNode.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();</p><p>  sql += " and UserName='" + UserCod

69、e().Trim() + "'";</p><p>  DataTable dt = dal.GetDataTable(sql);</p><p>  if (dt.Rows.Count > 0)</p><p><b>  {</b></p><p>  Page.ClientScri

70、pt.RegisterStartupScript(this.GetType(), "sss", "alert('你已經(jīng)投過(guò)票了!');", true);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  s

71、ql = "update VoteRes set Num=Num+1 where VoteID=" + this.TreeView1.SelectedNode.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();</p><p>  sql += " and

72、CanName in(" + idlist.Trim(',') + ")";</p><p>  dal.ExecuteNonQuery(sql);</p><p>  sql = "insert into VoteLog(UserName,Vote,VoteTime)values('" + UserCode() +

73、 "'," + this.TreeView1.SelectedNode.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim() + ",'" + System.DateTime.Now + "')";</p><p

74、>  dal.ExecuteNonQuery(sql);</p><p>  Page.ClientScript.RegisterStartupScript(this.GetType(), "sss", "alert('投票成功!');", true);</p><p><b>  }</b></p&

75、gt;<p><b> ?。?)Result</b></p><p>  Dal dal = new Dal();</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><

76、;p>  if (!IsPostBack)</p><p><b>  {</b></p><p>  string sql = "select ID,VoteContent,MustNum from VoteInfo";</p><p>  DataTable dt = dal.GetDataTable(sql);&

77、lt;/p><p>  TreeNode tn = new TreeNode("選票活動(dòng)類(lèi)型");</p><p>  foreach (DataRow dr in dt.Rows)</p><p><b>  {</b></p><p>  TreeNode tnc = new TreeNode();&

78、lt;/p><p>  tnc.Text = dr["VoteContent"].ToString();</p><p>  tnc.Value = dr["ID"].ToString() + "," + dr["MustNum"].ToString();</p><p>  tn.Chil

79、dNodes.Add(tnc);</p><p><b>  }</b></p><p>  this.TreeView1.Nodes.Add(tn);</p><p><b>  }</b></p><p><b>  }</b></p><p>  

80、protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (this.TreeView1.SelectedNode == null)</p><p><b>  return;<

81、;/b></p><p>  this.Label1.Text = this.TreeView1.SelectedNode.Text;</p><p>  string sql = "select VoteID,CanName,Num from VoteRes where VoteID=" + this.TreeView1.SelectedNode.Value.S

82、plit(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)[0].Trim() +" order by Num desc";</p><p>  DataTable dt = dal.GetDataTable(sql);</p><p>  this.GridView1.DataSour

83、ce = dt;</p><p>  //this.GridView1 .SortDirection="desc";</p><p>  //dt.DefaultView.Sort = "Num AESC";</p><p>  this.GridView1.DataBind();</p><p>&l

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論