jsp課程設(shè)計(jì)報(bào)告學(xué)生管理系統(tǒng)_第1頁(yè)
jsp課程設(shè)計(jì)報(bào)告學(xué)生管理系統(tǒng)_第2頁(yè)
jsp課程設(shè)計(jì)報(bào)告學(xué)生管理系統(tǒng)_第3頁(yè)
已閱讀5頁(yè),還剩34頁(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、.課程設(shè)計(jì)報(bào)告課程: jsp 學(xué)號(hào):班級(jí):教師:徐州師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院課程設(shè)計(jì)任務(wù)書(shū)姓 名學(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ī)。按一定條件可以查詢,并將結(jié)果打印輸出。設(shè)計(jì)思路與設(shè)

2、計(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ì)劃與進(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)告任課教師意 見(jiàn)說(shuō) 明學(xué)生選課

3、管理系統(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ī)化管理,與世界接軌的重要條件。 因此,開(kāi)發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中我們將以開(kāi)發(fā)一套學(xué)生選課系統(tǒng)為例,談?wù)勂溟_(kāi)發(fā)過(guò)程和所涉及到的問(wèn)題及

4、解決方法。 本實(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è)面,包含個(gè)人信息,密碼修改,

5、錄入成績(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é)生可以選修若干門課程,一門課程也可以被多個(gè)學(xué)生選修,這兩個(gè)實(shí)體集之間是多對(duì)多聯(lián)系,還有教師和課程兩個(gè)實(shí)體,一個(gè)老師可以教授若干門課程,一門課程卻只能有一個(gè)老師教授,這兩個(gè)實(shí)體集之間是一對(duì)多聯(lián)系。通過(guò)選課成績(jī)將老師和學(xué)生聯(lián)系在一起。為保證系統(tǒng)的安全性,設(shè)置了操作員這一

6、實(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))stuDetail(userID,userSex,userMobil,useraddress)含義分別為:學(xué)生信息(學(xué)號(hào),

7、性別,地址) teacher(tId,tPame,tPass,dId)含義分別為:教師(學(xué)號(hào),,密碼,所在系的編號(hào))teaDetail(userID,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ī))room(roomname,roomnum,roomtime)含義分別為:教室(教室名,容納人數(shù),空閑時(shí)間)admin(aId,aPass)含義分別為:管理員(管理員編號(hào),) department(dId,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密碼 dIdC

9、har20 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、人數(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院系表department的表

12、結(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)建好的服務(wù)器端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é)生選課界面:student.

13、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/選課情況查詢 ccde

14、l.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.jsp/選課情

15、況查詢(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");Connecti

16、on 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")String

17、 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",name);out

18、.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 tPass='&

19、quot;+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/teacherIndex.htm

20、l");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(sql);if(rs.n

21、ext()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 href=index

22、.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><br>&

23、lt;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><table w

24、idth="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" size

25、="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> <td>密碼:

26、</td> <td><input name="userpass" type="password" size="20" size="20" maxlength="30"> </td> </tr> <tr> <td>用戶類型:</td> <td> <select name="userselect"> <option value="1"

27、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="100%&q

28、uot; border="0" cellpadding="0" cellspacing="1" bgcolor="*000000"> <tr> <td height="40" align="center" bgcolor="*00509F"><div align="center"><font color="*FFFFFF" size="4">學(xué)

29、生選課系統(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="studMessSe

30、l.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"><i

31、mg 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> <td height=

32、"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="*0000FF"

33、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="17"

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

35、t;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></td>

36、</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"><fon

37、t 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.getConnection

38、("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("sName"

39、);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("userMobil");

40、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 where dId='"+dId

41、+"'");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" cellspacing="2"

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

43、ht="150"> <tr> <Td width="60"> <fontsize="4" color="*FFFFFF">學(xué)號(hào)</font></Td><td width="100"> <fontsize="3" color="*FFFFFF"><%=sId%></font></td> <td width="60&qu

44、ot;> <fontsize="4" color="*FFFFFF"></font></td><td width="100"> <fontsize="3" color="*FFFFFF"><%=sName%></font></td> <td width="60"> <fontsize="4" color="*FFFFFF&quo

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

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

47、size="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ù)中的結(jié)果如下,可見(jiàn)密碼已修改圖1.4 數(shù)據(jù)庫(kù)中修改后的

48、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",");String sql2="update stude

49、nt 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=") alert("密碼不能為空!"); documen

50、t.form1.sPass.focus(); return false; else if (document.form1.sPassagn.value=") alert("再次輸入密碼!"); document.form1.sPassagn.focus(); return false; else if (document.form1.sPass.value!=document.form1.sPassagn.value) alert("兩次密碼不同!"); document.form1.sPass.focus(); return false; o

51、ut.print("修改成功");(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","); Stri

52、ng sqlc="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

53、rs=null;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); el

54、se 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=&qu

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

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

57、t;/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"

58、; 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&quo

59、t;><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、;/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","

61、); 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.getString(7);

62、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.executeQuery(sqlt);if(rst.nex

63、t()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" method="post"

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

65、0" cellspacing="1" bgcolor="*000000"> <tr> <td width="40" height="30" align="center" bgcolor="*FFCCFF"><div align="center"><strong>選擇</strong></div></td> <td width="100&quo

66、t; align="center" bgcolor="*FFCCFF"><div align="center"><strong>課程名稱</strong></div></td> <td width="60" align="center" bgcolor="*FFCCFF"><div align="center"><strong>學(xué)分</strong&

67、gt;</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"><div align=

68、"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&qu

69、ot; align="center" bgcolor="*FFCCFF"><strong>剩余可選人數(shù)</strong></td> </tr> <% while(rs.next() String coId=rs.getString(1); String coName=rs.getString(2); String tId=rs.getString(3); float credit=rs.getFloat(4); float period=rs.getFloat(5); String cPlace=rs.getString(6); int cNumAll=rs.getInt

溫馨提示

  • 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)論