版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 概述</b></p><p> 1.1課題題目:學(xué)生選課系統(tǒng)</p><p> 1.2系統(tǒng)的主要目標(biāo):</p><p> 本系統(tǒng)目標(biāo)是實(shí)現(xiàn)選課系統(tǒng)所需的各種基本功能,包括學(xué)生選課、退課功能和教師查看選修課程、提交課程成績功能以及管理員添加學(xué)生、維護(hù)學(xué)生信息、成績管理、添加教師、維護(hù)教師信息、維護(hù)選修課程,還有
2、公用的修改密碼等功能。</p><p> 1.3 系統(tǒng)的開發(fā)環(huán)境及運(yùn)行環(huán)境:</p><p> 操作系統(tǒng): Windows XP Pro SP2</p><p> 建模工具: Rational Rose 2003</p><p> 數(shù)據(jù)庫系統(tǒng):SQL Server2000</p><p> 開發(fā)工具:
3、Visual Studio 2005</p><p> Web服務(wù)器:IIS+ASP.NET 2.0平臺</p><p><b> 系統(tǒng)需求分析</b></p><p> 學(xué)生選課系統(tǒng)主要滿足來自三方面的需求,這三個方面分別是學(xué)生用戶、教師用戶和管理員用戶,也即是三類用戶角色。</p><p> ?。?)學(xué)生用戶是
4、主要的需求者,主要需求功能是查詢可選課程、查看自己選課情況及進(jìn)行選課、退課操作等;</p><p> (2)教師用戶主要需求功能是查看自己所教授的課程、課程有哪些學(xué)生選修、以及利用本系統(tǒng)提交學(xué)生的成績;</p><p> ?。?)管理員用戶的功能需求較為復(fù)雜,包括對學(xué)生信息、教師信息、課程信息進(jìn)行管理。在學(xué)生信息管理子模塊中,實(shí)現(xiàn)對學(xué)生信息的添加、修改、刪除操作,還可以輸入查詢條件進(jìn)行查
5、詢操作。在教師管理子模塊中,實(shí)現(xiàn)對教師信息的添加、修改、刪除、查詢等操作。在課程管理子模塊中,實(shí)現(xiàn)對課程信息的添加,添加時為其分配任課教師、上課時間和地點(diǎn),實(shí)現(xiàn)對課程的修改、刪除、查看某個課程的詳細(xì)信息等。</p><p> 本系統(tǒng)將管理員用戶、教師用戶、學(xué)生用戶的身份及權(quán)限進(jìn)行嚴(yán)格的劃分,讓管理員擁有最高權(quán)限,可以查看、維護(hù)系統(tǒng)中的所有信息,如添加學(xué)生,添加課程,修改課程信息等;讓教師擁有查看自己開設(shè)的課程的
6、信息,以及提交所開設(shè)課程成績的權(quán)限;讓學(xué)生擁有選課和退選的權(quán)限;而修改密碼模塊的權(quán)限每個用戶都可擁有,用以修改自己的密碼信息。通過進(jìn)行嚴(yán)格的權(quán)限劃分,可以更好地進(jìn)行管理,也可更好地保護(hù)用戶信息安全。</p><p><b> 用例圖</b></p><p> 圖2-1 學(xué)生選課系統(tǒng)用例圖</p><p><b> 用例圖說明:&
7、lt;/b></p><p> (1)系統(tǒng)的外部角色有:學(xué)生用戶、教師用戶和管理員。</p><p> ?。?)系統(tǒng)主要用例的文檔描述:</p><p> ?、賹W(xué)生管理用例:學(xué)生用戶可見的功能,包含了選課、退課和查看選課三個用例功能。</p><p> ?、诮處煿芾碛美航處熡脩艨梢姷墓δ?,包含了查看學(xué)生選課和提交成績兩個用例功能。&
8、lt;/p><p> ?、坌畔⒐芾碛美汗芾韱T可見的功能,這個用例進(jìn)一步分為三個用例:學(xué)生信息管理用例、教師信息管理用例和課程信息管理用例。</p><p> ?、軐W(xué)生信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)學(xué)生信息的管理功能,包含了添加學(xué)生、修改學(xué)生信息和刪除學(xué)生三個用例。</p><p> ?、萁處熜畔⒐芾碛美盒畔⒐芾碛美梢姷墓δ埽瑢?shí)現(xiàn)教師信息的管理功能,包含
9、了添加教師、修改教師信息和刪除教師三個用例。</p><p> ⑥課程信息管理用例:信息管理用例可見的功能,實(shí)現(xiàn)課程信息的管理功能,包含了添加課程、修改課程信息和刪除課程三個用例。</p><p> ?、咝薷拿艽a用例:所有用戶都可見的功能,用于修改用戶的密碼信息。</p><p> ?。?)系統(tǒng)用例之間的關(guān)系:</p><p> ?、賹W(xué)生管
10、理用例與選課、查看選課、退課三用例之間是包含關(guān)系。</p><p> ?、诮處煿芾碛美c查看學(xué)生選課、提交成績兩用例之間是包含關(guān)系。</p><p> ③信息管理用例與學(xué)生信息管理用例、教師信息管理用例和課程信息管理用例之間是包含關(guān)系。</p><p> ?、軐W(xué)生信息管理用例與添加學(xué)生、修改學(xué)生信息和刪除學(xué)生三個用例之間是包含關(guān)系。</p><
11、p> ?、萁處熜畔⒐芾碛美c添加教師、修改教師信息和刪除教師三個用例之間是包含關(guān)系。</p><p> ?、拚n程信息管理用例與添加課程、修改課程信息和刪除課程三個用例之間是包含關(guān)系。</p><p> (4)系統(tǒng)關(guān)鍵用例的正常事件流圖和異常事件流圖</p><p> 表2-1 修改密碼用例的正常事件流圖和異常事件流圖</p><p>
12、; 表2-2 提交成績用例的正常事件流圖和異常事件流圖</p><p><b> 類圖</b></p><p> 圖2-2 學(xué)生選課系統(tǒng)類圖</p><p><b> 類圖說明:</b></p><p> (1)BaseUser類是一個系統(tǒng)角色用戶的基類,主要方法有兩個:</p&g
13、t;<p> modifyPWD() 用于修改用戶的密碼;</p><p> loginCheck() 用于用戶登錄驗(yàn)證。</p><p> ?。?)Admin類繼承自BaseUser類。</p><p> (3)Student類繼承自BaseUser類,主要方法有:</p><p> studentAdd() 用于添加
14、學(xué)生;</p><p> studentDel() 用于刪除學(xué)生;</p><p> studentUpdate() 用于更新學(xué)生信息;</p><p> getStudents() 用于獲取學(xué)生列表。</p><p> ?。?)Teacher類繼承自BaseUser類,主要方法有:</p><p> teac
15、herAdd() 用于添加教師;</p><p> teacherDel() 用于刪除教師;</p><p> teacherUpdate() 用于更新教師信息;</p><p> getTeachers() 用于獲取教師列表。</p><p> ?。?)Course類是一個課程類,主要方法有:</p><p>
16、 courseAdd() 用于添加課程;</p><p> courseDel() 用于刪除課程;</p><p> courseUpdate() 用于修改課程信息;</p><p> getCourses() 用于獲取課程列表。</p><p> ?。?)Elect類是一個選課表類,主要方法有:</p><p&g
17、t; elect() 選修課程;</p><p> electDel() 退選課程;</p><p> getElectInfo() 獲取選課信息;</p><p> haveSubmit() 檢測是否已提交過成績;</p><p> submitScore() 提交成績。</p><p><b>
18、 順序圖</b></p><p> (1) 管理員修改課程信息順序圖</p><p> 圖2-3 管理員修改課程信息順序圖</p><p> (2) 學(xué)生用戶退選課的順序圖</p><p> 圖2-4 學(xué)生用戶退選課的順序圖</p><p> (3) 教師提交成績順序圖</p>
19、<p> 圖2-5 教師提交成績順序圖</p><p><b> 協(xié)作圖(可選)</b></p><p> (1) 學(xué)生用戶選課協(xié)作圖</p><p> 圖2-6 學(xué)生用戶選課協(xié)作圖</p><p> (2) 教師提交成績協(xié)作圖</p><p> 圖2-7 教師提交成
20、績協(xié)作圖</p><p><b> 系統(tǒng)總體設(shè)計(jì)</b></p><p> 3.1 設(shè)計(jì)問題域子系統(tǒng)</p><p> 學(xué)生選課系統(tǒng)是實(shí)現(xiàn)學(xué)生選課退課、教師提交成績以及學(xué)校教務(wù)管理員維護(hù)信息的一個平臺,整個學(xué)生選課系統(tǒng)有前臺和后臺兩部分,共分為4個模塊:管理員模塊,教師模塊,學(xué)生模塊和公有模塊,分別用于完成各自的功能。以下為學(xué)生選課系統(tǒng)總
21、體設(shè)計(jì)圖和各功能模塊說明:</p><p><b> ?。?)總體設(shè)計(jì)圖</b></p><p><b> (2)各模塊功能</b></p><p> 表3-1 學(xué)生選課系統(tǒng)功能模塊表</p><p> 3.2 設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)</p><p><b>
22、(1)數(shù)據(jù)庫表</b></p><p><b> 表3-2 數(shù)據(jù)庫表</b></p><p> ?。?)數(shù)據(jù)表之間的關(guān)系</p><p> 圖3-2 數(shù)據(jù)表之間的關(guān)系圖</p><p><b> (3)數(shù)據(jù)庫表結(jié)構(gòu)</b></p><p> ?、賹W(xué)生表St
23、udent的詳細(xì)數(shù)據(jù)字段:</p><p> 表3-3 Student學(xué)生用戶表</p><p> ?、诮處煴鞹eacher的詳細(xì)數(shù)據(jù)字段:</p><p> 表3-4 Teacher教師用戶表</p><p> ?、壅n程表Course的詳細(xì)數(shù)據(jù)字段:</p><p> 表3-5 Cource課程信息表</
24、p><p> ④選課表Elect的詳細(xì)數(shù)據(jù)字段:</p><p> 表3-6 Elect選課信息表</p><p> ?、菹到y(tǒng)管理員表Users的詳細(xì)數(shù)據(jù)字段:</p><p> 表3-7 Users管理員表</p><p> ?、尴翟罕鞤epart的詳細(xì)數(shù)據(jù)字段:</p><p> 表3-
25、8 Depart系院表</p><p> 3.3 設(shè)計(jì)人機(jī)交互子系統(tǒng)</p><p><b> ?。?)用戶分類</b></p><p> 本系統(tǒng)的用戶可分為三類:</p><p><b> ①管理員用戶;</b></p><p><b> ②教師用戶;&l
26、t;/b></p><p><b> ?、蹖W(xué)生用戶。</b></p><p><b> ?。?)用戶描述</b></p><p> ?、俟芾韱T用戶的描述:</p><p> 管理員用戶在整個選課系統(tǒng)中起到管理和維護(hù)的作用,對學(xué)生和教師的信息進(jìn)行管理和維護(hù)以及開設(shè)課設(shè)等職責(zé)。</p>
27、;<p><b> ?、诮處熡脩舻拿枋觯?lt;/b></p><p> 教師用戶在本系統(tǒng)中具有管理選修了自己開設(shè)的課程的學(xué)生的權(quán)限,查看選修了自己開設(shè)課程的學(xué)生信息有及提交學(xué)生成績。</p><p><b> ?、蹖W(xué)生用戶的描述:</b></p><p> 選課系統(tǒng)主要是針對管理學(xué)生的,學(xué)生在本系統(tǒng)中具有修改
28、自己的信息,以及選課和退選的功能。</p><p><b> ?。?)設(shè)計(jì)命令層次</b></p><p> ?、傧到y(tǒng)的人機(jī)交互子系統(tǒng)的內(nèi)容和準(zhǔn)則:</p><p> 本學(xué)生選課系統(tǒng)的人機(jī)交互子系統(tǒng)在根據(jù)不同的用戶身份登陸到不同的頁面,然后按照不同的用戶只能進(jìn)行用戶權(quán)限內(nèi)的操作,其結(jié)構(gòu)圖如下:</p><p> ②通
29、過采用樹形結(jié)構(gòu),細(xì)化命令的組織方式,如下:</p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> 學(xué)生選課系統(tǒng)是實(shí)現(xiàn)學(xué)生網(wǎng)上選課、教師提交成績以及學(xué)校教務(wù)管理員維護(hù)信息的一個平臺,整個學(xué)生選課系統(tǒng)共分為4個大模塊:管理員模塊,教師模塊,學(xué)生模塊和公有模塊,其中復(fù)雜的方法和模塊的詳細(xì)設(shè)計(jì)流程圖如下。</p><p> 4.1系統(tǒng)用戶
30、登錄流程圖</p><p> 4.2 用戶密碼修改流程圖</p><p> 4.3教師提交成績流程圖</p><p> 4.4管理員添加課程流程圖</p><p> 4.5學(xué)生選修課程流程圖</p><p><b> 系統(tǒng)實(shí)現(xiàn)</b></p><p> 本系統(tǒng)采
31、用了三層架構(gòu)來實(shí)現(xiàn),即分為用戶界面層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL),用戶界面層是展示給用戶的界面,方便用戶與系統(tǒng)進(jìn)行交互;業(yè)務(wù)邏輯層是對系統(tǒng)業(yè)務(wù)實(shí)體的封裝,完成系統(tǒng)業(yè)務(wù)功能;數(shù)據(jù)訪問層直接與數(shù)據(jù)庫打交道,為業(yè)務(wù)邏輯層提供底層的數(shù)據(jù)庫操作。</p><p> 5.1 Database類主要是與數(shù)據(jù)庫連接,提供數(shù)據(jù)庫操作功能,代碼如下:</p><p> namesp
32、ace MyElectCourse.DAL</p><p><b> {</b></p><p> public class Database</p><p><b> {</b></p><p> protected string connectionString;</p>
33、<p> protected SqlConnection connection = null;</p><p> public Database()</p><p><b> {</b></p><p> connectionString = ConfigurationManager.ConnectionStrings[&qu
34、ot;ConnectionString"].ConnectionString.ToString();</p><p><b> }</b></p><p> ~Database()</p><p><b> {</b></p><p> if (connection != null
35、)</p><p><b> {</b></p><p> connection = null;</p><p><b> }</b></p><p><b> }</b></p><p> protected void Open()</
36、p><p><b> {</b></p><p> if (connection == null)</p><p><b> {</b></p><p> connection = new SqlConnection(connectionString);</p><p>
37、<b> }</b></p><p> if (connection.State.Equals(ConnectionState.Closed))</p><p><b> {</b></p><p> connection.Open();</p><p><b> }</b
38、></p><p><b> }</b></p><p> protected void Close()</p><p><b> {</b></p><p> if (connection != null)</p><p><b> {</b
39、></p><p> connection.Close();</p><p><b> }</b></p><p><b> }</b></p><p> public int ExecuteSQL(string sqlstr)</p><p><b>
40、; {</b></p><p> int count = -1;</p><p> this.Open();</p><p> SqlCommand cmd = new SqlCommand(sqlstr, connection);</p><p> count = cmd.ExecuteNonQuery();</
41、p><p> this.Close();</p><p> return count;</p><p><b> }</b></p><p> public DataSet GetDataSet(string sqlstr)</p><p><b> {</b><
42、/p><p> this.Open();</p><p> DataSet ds = new DataSet();</p><p> SqlDataAdapter adapter = new SqlDataAdapter(sqlstr,connection);</p><p> adapter.Fill(ds);</p>&
43、lt;p> this.Close();</p><p> return ds;</p><p><b> }</b></p><p> public DataTable GetDataTable(string sqlstr)</p><p><b> {</b></p>
44、<p> DataSet ds = this.GetDataSet(sqlstr);</p><p> DataTable dt = new DataTable();</p><p> if (ds.Tables.Count > 0)</p><p><b> {</b></p><p> d
45、t = ds.Tables[0];</p><p><b> }</b></p><p> return dt;</p><p><b> }</b></p><p> public SqlDataReader GetDataReader(string sqlstr)</p>
46、<p><b> {</b></p><p> this.Open();</p><p> SqlCommand cmd = new SqlCommand(sqlstr, connection);</p><p> SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.Cl
47、oseConnection);</p><p> //this.Close();</p><p> return sdr;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b><
48、/p><p> 5.2 UserBase類是所有系統(tǒng)角色用戶的基類,完成用戶登錄驗(yàn)證與修改密碼的功能,代碼如下:</p><p> namespace MyElectCourse.BLL</p><p><b> {</b></p><p> public class UserBase</p><
49、p><b> {</b></p><p> private string userID;</p><p> public string UserID</p><p><b> {</b></p><p> get { return userID; }</p><p
50、> set { userID = value; }</p><p><b> }</b></p><p> private string userPSW;</p><p> public string UserPSW</p><p><b> {</b></p><
51、;p> get { return userPSW; }</p><p> set { userPSW = value; }</p><p><b> }</b></p><p> public string loginCheck(string uid, string upwd, string urole)</p>&
52、lt;p><b> {</b></p><p> String selectStr = String.Empty;</p><p> switch (urole)</p><p><b> {</b></p><p> case "0":
53、 //身份為教師時 </p><p> selectStr = "Select * from Teacher where teaID = '" + uid + "'";</p><p><b> break;</b></p>&l
54、t;p> case "1": //身份為學(xué)生時</p><p> selectStr = "Select * from Student where stuID = '" + uid + "'";</p><p><b> break;</b&g
55、t;</p><p> case "2": //身份為管理員時</p><p> selectStr = "Select * from Users where adminName = '" + uid + "'";</p><p><b&
56、gt; break;</b></p><p><b> default:</b></p><p> return null;</p><p><b> }</b></p><p> Database db = new Database();</p><p&g
57、t; DataTable dt = db.GetDataTable(selectStr);</p><p> if (dt.Rows.Count > 0) //如果該用戶存在</p><p><b> {</b></p><p> if (dt.Rows[0][1].ToString().Equals(upwd))
58、 //密碼正確</p><p><b> {</b></p><p> switch (urole)</p><p><b> {</b></p><p> case "0": //身份為教師時 </p><
59、p> return "0";</p><p> case "1": //身份為學(xué)生時</p><p> return "1";</p><p> case "2": //身份為管理員時</p><p> re
60、turn "2";</p><p><b> default:</b></p><p> return null;</p><p><b> }</b></p><p><b> }</b></p><p> else
61、 //密碼錯誤,給出提示信息!</p><p><b> {</b></p><p> return "-1";</p><p><b> }</b></p><p><b> }</b></p>
62、<p> else //用戶不存在或用戶名輸入錯誤</p><p><b> {</b></p><p> return "-2";</p><p><b> }</b></p><p><b>
63、 }</b></p><p> public string modifyPWD(String urole, String uid, String oldPwd, String newPwd)</p><p><b> {</b></p><p> String updateStr = String.Empty;</p&
64、gt;<p> switch (urole)</p><p><b> {</b></p><p> case "0": //身份為教師時 </p><p> updateStr = "update Teacher set
65、teaPwd='" + newPwd + "' where teaID='" + uid + "'";</p><p><b> break;</b></p><p> case "1": //身份為學(xué)生時</p&
66、gt;<p> updateStr = "update Student set stuPwd='" + newPwd + "' where stuID='" + uid + "'";</p><p><b> break;</b></p><p> cas
67、e "2": //身份為管理員時</p><p> updateStr = "update Users set adminPwd='" + newPwd + "' where adminName='" break;</p><p><b> }&l
68、t;/b></p><p> string ucheck = this.loginCheck(uid, oldPwd, urole);</p><p> if (ucheck.Equals("0") || ucheck.Equals("1") || ucheck.Equals("2"))</p><p
69、><b> {</b></p><p> int t = new Database().ExecuteSQL(updateStr); //根據(jù)修改后返回的結(jié)果給出提示</p><p> if (t > 0)</p><p><b> {</b></p><p> retur
70、n "1";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> return "0";</p><p><b&g
71、t; }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> return "-1";</p><p><b&g
72、t; } } }}</b></p><p> 5.3 系統(tǒng)登錄頁面,代碼及運(yùn)行效果如下:</p><p> <head runat="server"></p><p> <title>登錄頁面</title></p><p><b> </head&
73、gt;</b></p><p> <body onload="document.all.txtUserName.focus()" leftmargin="0" rightmargin="0"></p><p> <form id="form1" runat="serv
74、er"></p><p><b> <div></b></p><p> <table align="center" style="font-size: 12px; font-family: Tahoma; border-collapse: collapse"</p><
75、p><b> <tr></b></p><p> <td colspan="2" style="text-align: center"></p><p> <span style="font-size: 24pt; font-family: 隸書">學(xué)生選課系統(tǒng)
76、</span></p><p><b> </td></b></p><p><b> </tr></b></p><p><b> <tr></b></p><p><b> <td></b&
77、gt;</p><p> <div align="right"></p><p> <span style="font-family: 宋體">用戶名</span>:</p><p><b> </div></b></p><p&g
78、t;<b> </td></b></p><p> <td style="width: 242px"></p><p> <asp:TextBox ID="txtUserName" runat="server" Width="150px"><
79、/asp:TextBox></p><p> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="不能為空!"></asp:RequiredFieldVal
80、idator></p><p><b> </td></b></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <td style="height: 32
81、px"></p><p> <div align="right"></p><p> 密 碼:</p><p><b> </div></b></p><p><b> </td&
82、gt;</b></p><p> <td style="height: 32px; width: 242px;"></p><p> <asp:TextBox ID="txtPwd" runat="server" TextMode="Password"
83、 <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="不能為空!"></asp:RequiredFieldValidator></p><p&
84、gt;<b> </td></b></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <td colspan="2" align="center" sty
85、le="height: 46px"></p><p> <asp:RadioButtonList ID="rblClass" runat="server" RepeatDirection="Horizontal"></p><p> <asp:ListItem Value="
86、;0">教師</asp:ListItem></p><p> <asp:ListItem Selected="True" Value="1">學(xué)生</asp:ListItem></p><p> <asp:ListItem Value="2">管理員</as
87、p:ListItem></p><p> </asp:RadioButtonList></p><p> <asp:Label ID="lblMessage" runat="server" ForeColor="Red"></asp:Label></p><p>
88、;<b> </td></b></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <td align="center" colspan="2">&l
89、t;/p><p> <asp:ImageButton ID="imgbtnLogin" runat="server" ImageUrl="~/Images/Login.GIF" </p><p> <asp:ImageButton ID="imgbtnClose" runat="serve
90、r" ImageUrl="~/Images/Close.GIF" </p><p> </td></tr></table> </div> </form></body></html></p><p> 圖5-1系統(tǒng)登錄頁面</p><p> 5.4
91、學(xué)生用戶選課界面代碼及運(yùn)行效果圖如下:</p><p> <html xmlns="http://www.w3.org/1999/xhtml"></p><p> <head runat="server"></p><p> <title>學(xué)生選課</title></
92、p><p><b> </head></b></p><p> <body leftmargin="0" rightmargin="0" topmargin="0"></p><p> <form id="form1" runat=&
93、quot;server"></p><p><b> <div></b></p><p> <table width="100%" bgcolor="#ccccff"></p><p><b> <tr></b></p&
94、gt;<p><b> <td></b></p><p> <uc1:top ID="Top1" runat="server" /></p><p><b> </td></b></p><p><b> </
95、tr></b></p><p><b> </table></b></p><p> <table id="table1" width="80%" border="0" align="center"></p><p>&
96、lt;b> <tr></b></p><p> <td align="center"></p><p> <span style="font-size: 16pt;">可選修課程</span></p><p><b> </td>&
97、lt;/b></p><p><b> </tr></b></p><p><b> <tr></b></p><p><b> <td></b></p><p> <asp:GridView ID="GridV
98、iew1" runat="server" AutoGenerateColumns="False" BackColor="White"</p><p> Width="100%" BorderColor="#999999" BorderStyle="None" BorderWidth=
99、"1px" CellPadding="3"</p><p> DataSourceID="SqlDataSource1" GridLines="Vertical" OnRowCommand="GridView1_RowCommand"</p><p> Font-Size="1
100、0pt" DataKeyNames="courceID,teaID"></p><p> <FooterStyle BackColor="#CCCCCC" ForeColor="Black" /></p><p> <RowStyle BackColor="#EEEEEE"
101、 ForeColor="Black" Font-Size="10pt" /></p><p> <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /></p><p> &l
102、t;PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /></p><p> <HeaderStyle BackColor="Blue" Font-Bold="True" ForeColor="
103、White" Font-Size="10pt" /></p><p> <AlternatingRowStyle BackColor="Gainsboro" /></p><p><b> <Columns></b></p><p> <asp:Boun
104、dField DataField="courceID" HeaderText="courceID" ReadOnly="True" Visible="False"</p><p> SortExpression="courceID" /></p><p> <asp:Boun
105、dField DataField="teaID" Visible="False" HeaderText="teaID" ReadOnly="True"</p><p> SortExpression="teaID" /></p><p> <asp:BoundField Da
106、taField="courceName" HeaderText="課程名稱" SortExpression="courceName"></p><p> </asp:BoundField></p><p> <asp:BoundField DataField="teaName" He
107、aderText="教師姓名" SortExpression="teaName"></asp:BoundField></p><p> <asp:BoundField DataField="courceTime" HeaderText="上課時間" SortExpression="courceTim
108、e"></p><p> </asp:BoundField></p><p> <asp:BoundField DataField="courceAddress" HeaderText="上課地點(diǎn)" SortExpression="courceAddress"></p>&
109、lt;p> </asp:BoundField></p><p> <asp:HyperLinkField DataNavigateUrlFields="courceID,teaID" DataNavigateUrlFormatString="courseDetail.aspx?courceID={0}&teaID={1}"</p&g
110、t;<p> HeaderText="詳細(xì)..." Text="詳細(xì)..." /></p><p> <asp:ButtonField HeaderText="選修" CommandName="select" Text="選修"></asp:ButtonField>&
111、lt;/p><p> </Columns></p><p> </asp:GridView></p><p> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ Connecti
112、onStrings:ConnectionString %>"</p><p> SelectCommand="SELECT Cource.courceID, Cource.teaID, Cource.courceName, Teacher.teaName, Cource.courceTime, Cource.courceAddress FROM Cource INNER JOIN Te
113、acher ON Cource.teaID = Teacher.teaID WHERE NOT EXISTS (SELECT * FROM Elect WHERE (courceID=Cource.courceID and teaID=Cource.teaID and stuID = @stuID))"></p><p> <SelectParameters></p>
114、<p> <asp:SessionParameter Name="stuID" SessionField="userID" /></p><p> </SelectParameters></p><p> </asp:SqlDataSource></p><p><b&
115、gt; </td></b></p><p><b> </tr></b></p><p><b> <tr></b></p><p><b> <td></b></p><p> <asp:Label
116、runat="server" ID="errormess" ForeColor="Red" Font-Size="Smaller"></asp:Label></p><p><b> </td></b></p><p><b> </tr&
117、gt;</b></p><p><b> <tr></b></p><p> <td style="height: 24px; text-align: center"></p><p> <span style="font-size: 16pt;">您
118、已經(jīng)選修的課程</span></p><p><b> </td></b></p><p><b> </tr></b></p><p><b> <tr></b></p><p><b> <td>
119、</b></p><p> <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" BackColor="White"</p><p> Width="100%" BorderCol
120、or="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3"</p><p> DataSourceID="SqlDataSource2" GridLines="Vertical" OnRowCommand="Gr
121、idView2_RowCommand"</p><p> DataKeyNames="stuID,courceID,teaID"></p><p> <FooterStyle BackColor="#CCCCCC" ForeColor="Black" /></p><p>
122、 <RowStyle BackColor="#EEEEEE" ForeColor="Black" Font-Size="10pt" /></p><p> <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="
123、;White" /></p><p> <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /></p><p> <HeaderStyle BackColor="Blue"
124、Font-Bold="True" ForeColor="White" Font-Size="10pt" /></p><p> <AlternatingRowStyle BackColor="Gainsboro" /></p><p><b> <Columns>&l
125、t;/b></p><p> <asp:BoundField DataField="stuID" HeaderText="stuID" ReadOnly="True" SortExpression="stuID"</p><p> Visible="False" />&
126、lt;/p><p> <asp:BoundField DataField="courceID" HeaderText="courceID" ReadOnly="True" SortExpression="courceID"Visible="False" /></p><p> &
127、lt;asp:BoundField DataField="teaID" HeaderText="teaID" ReadOnly="True" SortExpression="teaID"Visible="False" /></p><p> <asp:BoundField DataField=&quo
128、t;courceName" HeaderText="課程名稱" SortExpression="courceName"></p><p> <asp:BoundField DataField="teaName" HeaderText="教師姓名" SortExpression="teaName&quo
129、t;></asp:BoundField></p><p> <asp:BoundField DataField="courceTime" HeaderText="上課時間" SortExpression="courceTime"></p><p> <asp:BoundField DataF
130、ield="courceAddress" HeaderText="上課地點(diǎn)" SortExpression="courceAddress"></p><p> <asp:ButtonField HeaderText="退選" CommandName="shanchu" Text="退選
131、 </Columns></asp:GridView></p><p> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStrin
132、g %>"SelectCommand="SELECT Elect.stuID, Elect.courceID, Elect.teaID, <SelectParameters></p><p> <asp:SessionParameter Name="stuID" SessionField=&qu
133、ot;userID" /></p><p> </SelectParameters></p><p> </asp:SqlDataSource></p><p> <td style="height: 21px" align="center"></p>&
134、lt;p> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/ModifyPwd.aspx" Font-Size="10pt">修改密碼</asp:HyperLink></p><p> <asp:HyperLink ID=
135、"HyperLink2" runat="server" Font-Size="10pt" NavigateUrl="javascript:window.close()">退出系統(tǒng)</asp:HyperLink></p><p> </td></tr></table></di
136、v></form></body></html></p><p> 圖5-2 學(xué)生選課界面</p><p> 5.5 教師用戶提交成績界面代碼及運(yùn)行效果如下:</p><p> <head runat="server"></p><p> <title>
137、;提交成績</title></p><p><b> </head></b></p><p> <body leftmargin="0" rightmargin="0" topmargin="0"></p><p> <form id=&
138、quot;form1" runat="server"></p><p><b> <div></b></p><p> <table width="100%" bgcolor="#ccccff"></p><p><b> <
139、;tr></b></p><p><b> <td></b></p><p> <uc1:top ID="Top1" runat="server" /></p><p><b> </td></b></p>&
140、lt;p><b> </table></b></p><p> <table id="table1" width="400" border="0" runat="server" align="center"></p><p> <
141、;tr valign="top"></p><p> <td align="left"></p><p> <asp:Label ID="lblmessage" Font-Size="10pt" runat="server">課程名稱: &
142、amp;nbsp;</asp:Label></p><p> <asp:TextBox runat="server" ID="cname"></asp:TextBox></p><p><b> </td></b></p><p><b>
143、</tr></b></p><p><b> <tr></b></p><p> <td align="center"></p><p> <asp:GridView ID="GridView1" runat="server"
144、 AutoGenerateColumns="False" BackColor="White"</p><p> BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" Font-Size="
145、10pt"</p><p> GridLines="Vertical" Width="100%"></p><p> <FooterStyle BackColor="#CCCCCC" ForeColor="Black" /></p><p><b&g
146、t; <Columns></b></p><p> <asp:BoundField DataField="stuID" HeaderText="學(xué)號" /></p><p> <asp:BoundField DataField="stuName" HeaderText="姓
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生選課系統(tǒng)《軟件工程》課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)《軟件工程》課程設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)----學(xué)生選課系統(tǒng)
- 軟件工程課程設(shè)計(jì)—選課系統(tǒng)
- 軟件工程課程設(shè)計(jì)-選課管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)--研究生選課系統(tǒng)
- 《軟件工程》課程設(shè)計(jì)--學(xué)生管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)--學(xué)生管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)——學(xué)生管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)報(bào)告--學(xué)生信息管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)報(bào)告---學(xué)生信息管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)報(bào)告
- 軟件工程課程設(shè)計(jì)報(bào)告
- 學(xué)生學(xué)籍管理系統(tǒng)-軟件工程課程設(shè)計(jì)
- 酒店管理系統(tǒng)--軟件工程課程設(shè)計(jì)報(bào)告
- 軟件工程課程設(shè)計(jì)報(bào)告---學(xué)生成績管理
- 軟件工程課程設(shè)計(jì)報(bào)告模板
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生選課系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論