jsp課程設(shè)計(jì)學(xué)生管理系統(tǒng)_第1頁(yè)
jsp課程設(shè)計(jì)學(xué)生管理系統(tǒng)_第2頁(yè)
jsp課程設(shè)計(jì)學(xué)生管理系統(tǒng)_第3頁(yè)
jsp課程設(shè)計(jì)學(xué)生管理系統(tǒng)_第4頁(yè)
jsp課程設(shè)計(jì)學(xué)生管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、word課程設(shè)計(jì)報(bào)告課程: jsp 學(xué)號(hào): 姓名: 班級(jí): 教師: 徐州師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院課程設(shè)計(jì)任務(wù)書姓 名 學(xué) 號(hào) 班 級(jí) 課程名稱數(shù)據(jù)庫(kù)系統(tǒng)概論課程性質(zhì)課程設(shè)計(jì)同組成員 分工學(xué)生選課操作、教師管理操作兩局部功能的實(shí)現(xiàn)設(shè)計(jì)時(shí)間 設(shè)計(jì)名稱學(xué)生選課管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)要求系統(tǒng)功能根本要求:教師信息,包括教師編號(hào)、教師姓名、性別、年齡、學(xué)歷、職稱、畢業(yè)院校,健康狀況等。學(xué)生信息,包括學(xué)號(hào)、姓名、所屬院系、已選課情況等。教室信息,包括,可容納人數(shù)、空閑時(shí)間等。選課信息,包括課程編號(hào)、課程名稱、任課教師、選課的學(xué)生情況等。成績(jī)信息,包括課程編號(hào)、課程名稱、學(xué)分、成績(jī)。按一定條件可以

2、查詢,并將結(jié)果打印輸出。設(shè)計(jì)思路與設(shè)計(jì)過(guò)程設(shè)計(jì)思路:,本系統(tǒng)結(jié)合數(shù)據(jù)庫(kù)和JSP編程實(shí)現(xiàn)了學(xué)生選課管理系統(tǒng)。學(xué)生選課管理系統(tǒng)分為三個(gè)子模塊:第一模塊是學(xué)生選課的頁(yè)面操作,包括個(gè)人信息,密碼修改,查詢成績(jī),選課,退選五個(gè)功能;第二模塊是教師操作頁(yè)面,包含個(gè)人信息,密碼修改,錄入成績(jī),查詢選課情況,查看教室信息;第三模塊是管理員,包含學(xué)生信息管理增加、修改、刪除、查詢,教師信息管理增加、修改、刪除、查詢,管理員信息管理增加、修改、刪除、查詢。方案與進(jìn)度構(gòu)思整個(gè)系統(tǒng)的框架,在數(shù)據(jù)庫(kù)中建表主要對(duì)學(xué)生選課的一些操作進(jìn)行jsp編碼主要對(duì)教師的相關(guān)操作進(jìn)行jsp編碼整合整個(gè)實(shí)驗(yàn),并進(jìn)行修改寫課程設(shè)計(jì)的報(bào)告任課

3、教師意 見(jiàn)說(shuō) 明學(xué)生選課管理系統(tǒng)一系統(tǒng)需求分析學(xué)生選課系統(tǒng)是一個(gè)學(xué)校不可缺少的局部,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以學(xué)生選課系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。 作為計(jì)算機(jī)應(yīng)用的一局部,使用計(jì)算機(jī)對(duì)選課信息進(jìn)行管理,有著手工管理所無(wú)法比較的優(yōu)點(diǎn)。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 因此,開發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套學(xué)生選課系統(tǒng)為例,談?wù)勂溟_

4、發(fā)過(guò)程和所涉及到的問(wèn)題及解決方法。 本實(shí)驗(yàn)實(shí)現(xiàn)的學(xué)生選課管理系統(tǒng)主要包括以下功能:1完成數(shù)據(jù)的錄入和修改,并提交數(shù)據(jù)庫(kù)保存。其中的數(shù)據(jù)包括:學(xué)生信息、課程設(shè)置、學(xué)生成績(jī)以及操作員信息等; 2.設(shè)計(jì)實(shí)現(xiàn)學(xué)生信息查詢,選課管理、退選管理、分?jǐn)?shù)查詢,課程的瀏覽教師信息查詢、教室空閑時(shí)間查詢等JSP頁(yè)面 。 3具備一定的平安性管理功能。包括操作員的權(quán)限設(shè)置、修改密碼設(shè)置、注銷和等功能。二系統(tǒng)總概括1.系統(tǒng)的總設(shè)計(jì)本系統(tǒng)結(jié)合數(shù)據(jù)庫(kù)和JSP編程實(shí)現(xiàn)了學(xué)生選課管理系統(tǒng)。學(xué)生選課管理系統(tǒng)分為三個(gè)子模塊:第一模塊是學(xué)生選課的頁(yè)面操作,包括個(gè)人信息,密碼修改,查詢成績(jī),選課,退選五個(gè)功能;第二模塊是教師操作頁(yè)面,

5、包含個(gè)人信息,密碼修改,錄入成績(jī),查詢選課情況,查看教室信息;第三模塊是管理員,包含學(xué)生信息管理增加、修改、刪除、查詢,教師信息管理增加、修改、刪除、查詢,管理員信息管理增加、修改、刪除、查詢。學(xué)生選課教師管理管理員學(xué)生選課管理系統(tǒng)圖1 系統(tǒng)的功能模塊圖2數(shù)據(jù)庫(kù)設(shè)計(jì)2.1數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)主要有三個(gè)實(shí)體,其中有學(xué)生和課程兩個(gè)實(shí)體集,一個(gè)學(xué)生可以選修假設(shè)干門課程,一門課程也可以被多個(gè)學(xué)生選修,這兩個(gè)實(shí)體集之間是多對(duì)多聯(lián)系,還有教師和課程兩個(gè)實(shí)體,一個(gè)老師可以教授假設(shè)干門課程,一門課程卻只能有一個(gè)老師教授,這兩個(gè)實(shí)體集之間是一對(duì)多聯(lián)系。通過(guò)選課成績(jī)將老師和學(xué)生聯(lián)系在一起。為保證系統(tǒng)的平安性,

6、設(shè)置了操作員這一實(shí)體集,用來(lái)存放合法用戶的編號(hào)、姓名、密碼。本系統(tǒng)的E-R圖如下:學(xué)生學(xué)號(hào)姓名密碼院系性別 地址選修成績(jī)課程教授教師編 編號(hào)畢業(yè)院校健康狀況學(xué)歷姓名密碼院系年齡性別職稱MNM1編 課程號(hào)編 課程名編 教師號(hào)編 學(xué)分編 學(xué)時(shí)編 地點(diǎn)編 總?cè)藬?shù)編 已選數(shù)編 院系管理員編號(hào)密碼圖2 系統(tǒng)的E-R圖2.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)根據(jù)關(guān)系模型的轉(zhuǎn)換原那么,上面的ER圖可轉(zhuǎn)換為如下所示的關(guān)系模型:student(sId,sName,sPass,dId)含義分別為:學(xué)生學(xué)號(hào),姓名,密碼,所在系的編號(hào)stuDetailuserID,userSex,userMobil,useraddress含義分別為

7、:學(xué)生信息學(xué)號(hào),性別, ,地址 teachertId,tPame,tPass,dId含義分別為:教師學(xué)號(hào),姓名,密碼,所在系的編號(hào)teaDetailuserID,userSex,userAge,useredu,usertitle,usersch,userhealth含義分別為:教師信息學(xué)號(hào),性別,年齡,學(xué)歷,職稱,畢業(yè)院校,健康狀況course(cId,cName,tId,credit,period,cPlace,cNumall,cNum,dId)含義分別為:課程課程號(hào),名稱,教師號(hào),學(xué)分,學(xué)時(shí),上課地點(diǎn),總?cè)藬?shù),已選人數(shù),院系號(hào)choosecourse(cId,sId, Grade)含義分別

8、為:選修學(xué)號(hào),課程代碼,成績(jī)r(jià)oomroomname,roomnum,roomtime含義分別為:教室教室名,容納人數(shù),空閑時(shí)間admin(aId,aPass)含義分別為:管理員管理員編號(hào),姓名 departmentdId,dName含義分別為:院系院系編號(hào),院系名 根據(jù)上面的E-R圖設(shè)計(jì)及關(guān)系模型的設(shè)計(jì),得出數(shù)據(jù)表的設(shè)計(jì),在本系統(tǒng)中主要的數(shù)據(jù)表如下:表1 學(xué)生表Student的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度小數(shù)位空否備 注PksIdChar10 N學(xué)號(hào) sNameChar20 Y姓名 sPassChar2 Y密碼 dIdChar20&

9、#160;Y所在系號(hào)表2 學(xué)生信息表StuDetail的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度小數(shù)位空否備 注PkuserIDChar10 N學(xué)號(hào) userSexChar10 Y性別 userMobilChar30 Y  userAddressChar50 Y地址表3 教師表teacher的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度空否備 注PktIdChar10N編號(hào) tNameChar20Y姓名 tPassChar2Y密碼 dIdChar20Y所在系號(hào)表4 教師信息表teadetail的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度

10、空否備 注PkuserIDChar10N學(xué)號(hào) userSexChar10Y性別 userAgeChar50Y  usereduChar30Y學(xué)歷usertitleChar30Y職稱userschChar30Y畢業(yè)院校 UserhealthChar50Y健康狀況表5 課程信息表Course的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度空否備 注PkcIdChar10N課程號(hào) coNameChar20Y課程名稱 tIdChar10Y教師號(hào) creditChar8Y學(xué)分periodChar8Y學(xué)時(shí)cPlaceChar10Y上課地點(diǎn)cNumAllChar4Y

11、總?cè)藬?shù)cNumChar4Y已選人數(shù)dIdChar10Y院系號(hào)表6 選課成績(jī)表choosecourse的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度空否備 注PkcIdChar5N課程代碼sIdChar3N學(xué)號(hào) gradeDecimal5Y成績(jī)表7 教室信息表room的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度空否備 注PkroomnameChar10N教室名roomnumChar10N容納人數(shù) roomtimeChar10Y空閑時(shí)間 表8 管理員表admin的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度空否備 注PkaIdChar10N管理員編號(hào) aPassChar10Y管理員姓名 表9 院系表departm

12、ent的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度空否備 注PkdIdChar10N院系號(hào) dNameChar10Y院系名下面在系統(tǒng)實(shí)施階段就可以物理實(shí)現(xiàn)數(shù)據(jù)庫(kù)了,本系統(tǒng)使用前面實(shí)驗(yàn)已經(jīng)建好的效勞器端SQL Server數(shù)據(jù)庫(kù)xuanke,具體創(chuàng)立方法見(jiàn)前面實(shí)驗(yàn)。三系統(tǒng)實(shí)現(xiàn)本實(shí)驗(yàn)是用JSP結(jié)合數(shù)據(jù)庫(kù)實(shí)現(xiàn)的,其中包含了三個(gè)主頁(yè)面,一是學(xué)生登錄頁(yè)面,二是教師登錄頁(yè)面,三是管理員登錄頁(yè)面。其中每個(gè)頁(yè)面中都會(huì)有菜單進(jìn)行相應(yīng)的操作。3.1 JSP文件代表的操作(1)主界面操作:Index.jsp/登錄界面包含學(xué)生、教師、管理員三個(gè)選項(xiàng)Login.jsp/密碼驗(yàn)證(2)學(xué)生選課 (a)學(xué)生選課界面:stude

13、nt.jps/菜單顯示studentIndex.html/歡送界面studentMessage.jsp (b)個(gè)人信息:studMessSel.jsp/個(gè)人信息的頁(yè)面顯示 (c)密碼修改:stuM.jsp/在數(shù)據(jù)庫(kù)中修改密碼 stuMessMod.jsp/修改密碼界面 stuMessModSuc.jsp/修改成功 (d)成績(jī)查詢:gradeselect.jsp/相應(yīng)課程的成績(jī)查詢(e)選課:choosecourse.jsp/所有課程顯示 choose.jsp/在數(shù)據(jù)庫(kù)中插入數(shù)據(jù) choosesuccess.jsp/選課成功(f)選課情況查詢及退選:courseselect.jsp/選課情況查詢

14、 ccdel.jsp/數(shù)據(jù)庫(kù)中刪除選課記錄(g)注銷: zhuxiao.jsp/注銷(3)教師管理 (a)教師管理界面:teacher.jps/菜單顯示teacherIndex.html/歡送界面teacherMessage.jsp (b)個(gè)人信息:teacherMessSel.jsp/個(gè)人信息的頁(yè)面顯示 (c)密碼修改:teacherM.jsp/在數(shù)據(jù)庫(kù)中修改密碼 teacherMod.jsp/修改密碼界面 teaMessModSuc.jsp/修改成功(d)提交成績(jī):grade.jsp/選課學(xué)生信息顯示 gradeIns.jsp/在數(shù)據(jù)庫(kù)中插入數(shù)據(jù) (e)課程信息:lookcourse.js

15、p/選課情況查詢(f)教室信息:classroom.jsp/查看可用教室的空閑時(shí)間 (g)注銷: zhuxiao.jsp/注銷3.2 數(shù)據(jù)庫(kù)的連接舉例:驗(yàn)證用戶類型和密碼時(shí)的數(shù)據(jù)庫(kù)連接<body><%String name=(String)request.getParameter("username");String pass=(String)request.getParameter("userpass");String s=(String)request.getParameter("userselect");Con

16、nection conn=null;Statement stmt=null;ResultSet rs=null;String loginNum="0"session.setAttribute("lnum",loginNum);tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn=DriverManager.getConnection("jdbc:odbc:xk","sa","");if(s.equals("1&q

17、uot;)String sql="select * from student where sId='"+name+"' and sPass='"+pass+"'"stmt=conn.createStatement();rs=stmt.executeQuery(sql);if(rs.next() loginNum="1"session.setAttribute("lnum",loginNum);session.setAttribute("name"

18、;,name);out.print(name+"登陸成功,頁(yè)面跳轉(zhuǎn).");response.sendRedirect("student/studentIndex.html");else out.print("用戶名或密碼有誤.");response.sendRedirect("index.jsp");if(s.equals("2")String sql="select * from teacher where tId='"+name+"' and t

19、Pass='"+pass+"'"stmt=conn.createStatement();rs=stmt.executeQuery(sql);if(rs.next() loginNum="2"session.setAttribute("lnum",loginNum);session.setAttribute("name",name);out.print(name+"登陸成功,頁(yè)面跳轉(zhuǎn).");response.sendRedirect("teacher/teach

20、erIndex.html");else out.print("用戶名或密碼有誤.");response.sendRedirect("index.jsp"); if(s.equals("3")String sql="select * from admin where aId='"+name+"' and aPass='"+pass+"'"stmt=conn.createStatement();rs=stmt.executeQuery(s

21、ql);if(rs.next()loginNum="3"session.setAttribute("lnum",loginNum);session.setAttribute("name",name);out.print("管理員"+name+"登陸成功,頁(yè)面跳轉(zhuǎn).");response.sendRedirect("admin/adminIndex.html");elseout.print("用戶名或密碼有誤.");out.print("<a

22、 href=index.jsp>登陸頁(yè)面</a>");catch(Exception e)out.print(e);/response.sendRedirect("index.jsp");%></body>3.3 具體操作(1)學(xué)生選課操作(a)登錄頁(yè)面圖1.1 學(xué)生登錄頁(yè)面主要代碼:<body><form name="loginform" method="post" action="login.jsp"><br><br>

23、<br><br><table width="500" height="150" border="0" align="center"> <tr> <td align="center"><font size="5" color="#FFFFFF">歡送您使用學(xué)生選課系統(tǒng)</font></td> </tr> <tr></table>

24、<table width="294" border="0" align="center"> <tr> <td colspan="3">&nbsp;</td> </tr> <tr> <td width="79">用戶名:</td> <td width="148"><input name="username" type="text

25、" size="20" size="20" maxlength="30"></td> <td width="53" rowspan="2"><img src="image/logo_img.gif" width="37" height="40" onClick="loginclick()"> </td> </tr> <tr> &l

26、t;td>密碼:</td> <td><input name="userpass" type="password" size="20" size="20" maxlength="30"> </td> </tr> <tr> <td>用戶類型:</td> <td> <select name="userselect"> <option value=&qu

27、ot;1" selected>學(xué)生</option> <option value="2">教師</option> <option value="3">管理員</option> </select> </td> <td>&nbsp;</td> </tr></table></form></body>(b)菜單操作圖1.2 學(xué)生選課系統(tǒng)的界面主要代碼:<table width=&

28、quot;100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000"> <tr> <td height="40" align="center" bgcolor="#00509F"><div align="center"><font color="#FFFFFF" size="4

29、">學(xué)生選課系統(tǒng)</font></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="

30、;studMessSel.jsp" target="rightFrame"><font color="#0000FF" size="3">個(gè)人信息</font></a></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left&quo

31、t;><img src="image/index_01.gif" width="20" height="17"><a href="stuMessMod.jsp" target="rightFrame"><font color="#0000FF" size="3">密碼修改</font></a></div></td> </tr> <tr> <

32、;td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="gradeSelect.jsp" target="rightFrame"><font color="#0

33、000FF"size="3" >成績(jī)查詢</font></a></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height=&q

34、uot;17"><a href="courseSelect.jsp" target="rightFrame"><font color="#0000FF"size="3" >選課查詢以及退選</font></a></div></td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF&

35、quot;><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="choosecourse.jsp" target="rightFrame"><font color="#0000FF" size="3">選課</font></a></div>&

36、lt;/td> </tr> <tr> <td height="40" align="center" bgcolor="#FFFFFF"><div align="left"><img src="image/index_01.gif" width="20" height="17"><a href="zhuxiao.jsp" target="_top"

37、><font color="#0000FF" size="3">注銷</font></a></div></td> </tr></table>(c)個(gè)人信息顯示學(xué)生進(jìn)入后可以在菜單里進(jìn)行相應(yīng)的操作,點(diǎn)擊個(gè)人信息時(shí),就會(huì)出現(xiàn)該學(xué)生的信息.如下列圖所示:圖1.2 學(xué)生信息顯示的界面主要代碼:從數(shù)據(jù)庫(kù)中讀出相應(yīng)的信息:tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn=DriverManager.g

38、etConnection("jdbc:odbc:xk","sa","");String sql="select * from student where student.sId='"+name+"'"System.out.println(sql);stmt=conn.createStatement();rs=stmt.executeQuery(sql);if(rs.next()sId=rs.getString("sId");sName=rs.getString

39、("sName");dId=rs.getString("dId");String sql1="select * from stuDetail where userID ='"+name+"'"System.out.println(sql1);stmt=conn.createStatement();rs=stmt.executeQuery(sql1);if(rs.next()Sex=rs.getString("userSex"); Mobil=rs.getString("

40、userMobil"); Addr=rs.getString("userAddress");Connection connd=null;Statement stmtd=null;ResultSet rsd=null;connd=DriverManager.getConnection("jdbc:odbc:xk","sa","");stmtd=connd.createStatement();rsd=stmtd.executeQuery("select dName from department w

41、here dId='"+dId+"'");if(rsd.next()dName=rsd.getString("dName");catch(Exception e)out.println(e);%> <form name="form1" method="post"><table width="350" border="0" align="center" cellpadding="0" ce

42、llspacing="2" class="border"> <td height="25" align="center"><strong><font size="5" color="#FFFFFF" >學(xué)生個(gè)人信息</font></strong></td></table><table border="10" align="center" wi

43、dth="500" height="150"> <tr> <Td width="60"> <fontsize="4" color="#FFFFFF">學(xué)號(hào)</font></Td><td width="100"> <fontsize="3" color="#FFFFFF"><%=sId%></font></td>

44、<td width="60"> <fontsize="4" color="#FFFFFF">姓名</font></td><td width="100"> <fontsize="3" color="#FFFFFF"><%=sName%></font></td> <td width="60"> <fontsize="4&quo

45、t; color="#FFFFFF">性別</font></td><td width="100"> <fontsize="3" color="#FFFFFF"><%=Sex%></font></td></tr><tr> <td> <fontsize="4" color="#FFFFFF">院系</font></td>

46、<td> <fontsize="3" color="#FFFFFF"><%=dName%></font></td> <td> <fontsize="4" color="#FFFFFF"> </font></td><td> <fontsize="3" color="#FFFFFF"><%=Mobil%></font><

47、/td> <td> <fontsize="4" color="#FFFFFF">地址</font></td><td> <fontsize="3" color="#FFFFFF"><%=Addr%></font></td> </tr> </table></form>(d)密碼修改舉例:將0826006學(xué)號(hào)的密碼該為:6666其顯示如下:圖1.3 修改密碼修改提交后數(shù)據(jù)庫(kù)

48、中的結(jié)果如下,可見(jiàn)密碼已修改圖1.4 數(shù)據(jù)庫(kù)中修改后的student表主要代碼:數(shù)據(jù)庫(kù)中修改該學(xué)生的密碼的代碼String sPass=(String)request.getParameter("sPass");Connection conn=null;Statement stmt=null;tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""

49、;);String sql2="update student set sPass='"+sPass+"' where sId='"+name+"'"stmt=conn.createStatement();stmt.executeUpdate(sql2);stmt.close();response.sendRedirect("stuMessModSuc.jsp");function checkBig() if (document.form1.sPass.value="&quo

50、t;) alert("密碼不能為空!"); document.form1.sPass.focus(); return false; else if (document.form1.sPassagn.value="") alert("再次輸入密碼!"); document.form1.sPassagn.focus(); return false; sagn.value) alert("兩次密碼不同!"); document.form1.sPass.focus(); return false; out.print(&q

51、uot;修改成功");(e)成績(jī)查詢根據(jù)教授該門課的老師是否提交成績(jī),學(xué)生可以查到自己相應(yīng)課程的成績(jī),其查詢結(jié)果如下: 圖1.5 查詢成績(jī)的頁(yè)面主要代碼:tryStatement stmtc=null;ResultSet rsc=null;Connection connc=null;Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");connc=DriverManager.getConnection("jdbc:odbc:xk","sa",""); String s

52、qlc="select * from chooseCourse where sId='"+name+"'"stmtc=connc.createStatement();rsc=stmtc.executeQuery(sqlc);while(rsc.next()String coId=rsc.getString("coId");float grade=rsc.getFloat("grade");String grademess=null;Statement stmt=null;ResultSet rs=n

53、ull;Connection conn=null;conn=DriverManager.getConnection("jdbc:odbc:xk","sa",""); String sql="select coName from course where coId='"+coId+"'"stmt=conn.createStatement();rs=stmt.executeQuery(sql);if(rs.next() if(grade>0)out.print(grade);

54、else out.print("未提交");(f)課程查詢及退選可以通過(guò)對(duì)應(yīng)課程后面的退選選項(xiàng)進(jìn)行課程的退選圖1.6 查詢選課情況的頁(yè)面主要代碼:<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="top"> <p class=&

55、quot;style8"> <%=name%>選課選擇情況</p> <table width="600" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000"> <tr><td width="100" align="center" bgcolor="#FFCCFF"><div align=

56、"center"><strong><font color="blue"> 課程名稱</font></strong></div></td> <td width="60" align="center" bgcolor="#FFCCFF"><div align="center"><strong><font color="blue"> 學(xué)分

57、</font></strong></div></td> <td width="60" align="center" bgcolor="#FFCCFF"><div align="center"><strong><font color="blue"> 學(xué)時(shí)</font></strong></div></td> <td width="80&qu

58、ot; align="center" bgcolor="#FFCCFF"><div align="center"><strong><font color="blue"> 上課地點(diǎn)</font></strong></div></td> <td width="91" height="30" align="center" bgcolor="#FFCCFF&q

59、uot;><div align="center"><strong><font color="blue"> 教師</font></strong></div></td> <td width="139" align="center" bgcolor="#FFCCFF"><strong><font color="blue">操作選項(xiàng)</font>&

60、lt;/strong></td> </tr> while(rsc.next()String coId=rsc.getString("coId");float grade=rsc.getFloat("grade");String grademess=null;Statement stmt=null;ResultSet rs=null;Connection conn=null;conn=DriverManager.getConnection("jdbc:odbc:xk","sa",&quo

61、t;"); String sql="select * from course where coId='"+coId+"'"stmt=conn.createStatement();rs=stmt.executeQuery(sql);if(rs.next() String coName=rs.getString(2); String tId=rs.getString(3); float credit=rs.getFloat(4); float period=rs.getFloat(5); String cPlace=rs.getSt

62、ring(7); Connection connt=null; Statement stmtt=null; ResultSet rst=null; connt=DriverManager.getConnection("jdbc:odbc:xk","sa","");String sqlt="select tName from teacher where tId='"+tId+"'"stmtt=connt.createStatement();rst=stmtt.executeQuer

63、y(sqlt);if(rst.next()out.print(rst.getString(1); rsc.close();stmtc.close(); %> </table> </td> </tr></table>(f)選課界面中已通過(guò)數(shù)據(jù)庫(kù)將所有的課程列出來(lái),學(xué)生可以通過(guò)前面的選擇標(biāo)志進(jìn)行選課。圖1.7 選課信息的頁(yè)面及選課操作選課后,相應(yīng)數(shù)據(jù)庫(kù)中的choosecourse表增加了一行選課記錄圖1.8選課后數(shù)據(jù)庫(kù)中的chooseCourse表主要代碼:<form action="choose.jsp" metho

64、d="post"><table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="top"><br> <br> <table width="800" border="0"

65、cellpadding="0" cellspacing="1" bgcolor="#000000"> <tr> <td width="40" height="30" align="center" bgcolor="#FFCCFF"><div align="center"><strong>選擇</strong></div></td> <td w

66、idth="100" align="center" bgcolor="#FFCCFF"><div align="center"><strong>課程名稱</strong></div></td> <td width="60" align="center" bgcolor="#FFCCFF"><div align="center"><strong

67、>學(xué)分</strong></div></td> <td width="60" align="center" bgcolor="#FFCCFF"><div align="center"><strong>學(xué)時(shí)</strong></div></td> <td width="80" align="center" bgcolor="#FFCCFF"

68、><div align="center"><strong>上課地點(diǎn)</strong></div></td> <td width="91" height="30" align="center" bgcolor="#FFCCFF"><div align="center"><strong>教師</strong></div></td> <td width="70" align="center" bgcolor="#FFCCFF"><strong>剩余可選人數(shù)</strong></td>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論