版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《學(xué)生學(xué)籍管理系統(tǒng)》</p><p><b> 設(shè)計(jì)報(bào)告</b></p><p> 姓 名: </p><p> 學(xué) 號(hào): </p><p> 班 級(jí): 軟件1202班 &
2、lt;/p><p> 專 業(yè): 軟件工程 </p><p> 指導(dǎo)教師: </p><p> 時(shí) 間: 2014/6/16——2014/6/27 </p><p> 目錄 </p><p&
3、gt;<b> 一、需求分析1</b></p><p> 1.1課程設(shè)計(jì)目的1</p><p> 1.2課程設(shè)計(jì)要求1</p><p> 1.3選題與操作流程1</p><p> 1.4開發(fā)環(huán)境與開發(fā)平臺(tái)2</p><p><b> 二、總體設(shè)計(jì)2</b&g
4、t;</p><p> 2.1總體設(shè)計(jì)概念2</p><p><b> 2.2系統(tǒng)功能2</b></p><p><b> 2.3系統(tǒng)架構(gòu)3</b></p><p> 2.4 模塊劃分3</p><p><b> 三、 詳細(xì)設(shè)計(jì)4</b&g
5、t;</p><p> 3.1 SQL數(shù)據(jù)庫表4</p><p> 3.2程序系統(tǒng)設(shè)計(jì)圖:5</p><p> 3.3主要的類及類間關(guān)系:5</p><p> 四、 系統(tǒng)實(shí)現(xiàn)編碼及運(yùn)行結(jié)果6</p><p> 4.1登陸界面:6</p><p> 4.2管理員權(quán)限:7&l
6、t;/p><p> 4.3學(xué)生權(quán)限:13</p><p> 4.4核心代碼:14</p><p> 五、結(jié)論與總結(jié)29</p><p> 5.1課程設(shè)計(jì)結(jié)論29</p><p> 5.2課程設(shè)計(jì)總結(jié)與體會(huì)29</p><p><b> 一、需求分析</b>
7、</p><p><b> 1.1課程設(shè)計(jì)目的</b></p><p> 掌握面向?qū)ο蟪绦蛟O(shè)計(jì)基本要素(封裝、繼承、多態(tài))</p><p> 掌握J(rèn)AVA語言常用類包及其常用方法和JAVA語言基本語法</p><p> 掌握基于AWT的圖形用戶界面設(shè)計(jì)</p><p> 常用標(biāo)準(zhǔn)控件的使
8、用,如標(biāo)簽、按鈕、菜單、文本框、單選按鈕、滾動(dòng)條等。</p><p><b> 事件處理機(jī)制</b></p><p> 掌握布局、對(duì)話框的使用</p><p> 掌握發(fā)布JAVA應(yīng)用程序</p><p><b> 1.2課程設(shè)計(jì)要求</b></p><p> 學(xué)生學(xué)
9、籍管理系統(tǒng)的需求分析。</p><p> 學(xué)生學(xué)籍管理系統(tǒng)的總體設(shè)計(jì),列出主要的類和類間關(guān)系。</p><p> 列出具體的實(shí)現(xiàn)代碼。</p><p> 寫出程序的實(shí)現(xiàn)細(xì)節(jié),主要的功能界面,實(shí)現(xiàn)說明。</p><p><b> 寫出總結(jié)和評(píng)價(jià)</b></p><p> 1.3選題與操作流
10、程</p><p> 在一些學(xué)校等機(jī)構(gòu),隨著學(xué)生數(shù)量的不斷增加,學(xué)生的信息不斷增多,人工管理信息的難度也越來越大。而且效率也是很低的。所以如何自動(dòng)高效地管理信息是這些年來許多人所研究的。</p><p> 學(xué)生學(xué)籍管理系統(tǒng),以SQL數(shù)據(jù)庫作為后臺(tái)信息存儲(chǔ),Java作為前臺(tái)系統(tǒng)的語言。提供了對(duì)學(xué)生信息添加,查詢,修改,刪除的功能。實(shí)現(xiàn)了最基本的信息管理。</p><p
11、> 1.4開發(fā)環(huán)境與開發(fā)平臺(tái)</p><p> 操作系統(tǒng):Windows 8</p><p> 數(shù)據(jù)庫: SQL 2012</p><p> Java開發(fā)工具: My Eclipse2014</p><p> JDK: JDK1.7</p><p><b> 二、總體設(shè)計(jì)</b&g
12、t;</p><p><b> 2.1總體設(shè)計(jì)概念</b></p><p> 學(xué)生學(xué)籍管理系統(tǒng),可用于學(xué)校等機(jī)構(gòu)的學(xué)生信息管理,查詢,更新與維護(hù),使用方便,易用性強(qiáng),圖形界面清晰明了。該軟件用java語言編寫,用SQLServer2012數(shù)據(jù)庫作為后臺(tái)的數(shù)據(jù)庫進(jìn)行信息的存儲(chǔ),用SQL語句完成添加,查詢,修改,刪除的操作。用JDBC驅(qū)動(dòng)實(shí)現(xiàn)前臺(tái)Java與后臺(tái)SQL數(shù)
13、據(jù)庫的連接。Java語言跨平臺(tái)性強(qiáng),可以在Windows等系統(tǒng)下使用,方便簡單,安全性好。</p><p><b> 2.2系統(tǒng)功能</b></p><p> 該系統(tǒng)實(shí)現(xiàn)的大致功能:</p><p> 登錄界面。該登錄分為學(xué)生登錄和管理員登錄,用于權(quán)限分配。用戶通過驗(yàn)證通過后方可進(jìn)入管理系統(tǒng)。管理員登錄后可以對(duì)學(xué)生信息進(jìn)行增加、修改、刪除
14、、查詢。一定程度上保證了信息安全性,防止他人未經(jīng)允許篡改學(xué)生信息。學(xué)生登錄后可以進(jìn)行查詢和修改登錄密碼的功能。</p><p> 查詢學(xué)生信息??梢赃x擇由用戶選擇“顯示系統(tǒng)中當(dāng)前的所有學(xué)生信息”。也可以選擇按照“某一個(gè)學(xué)號(hào)查詢?cè)搶W(xué)號(hào)的學(xué)生信息”。查詢到的信息會(huì)在窗口中依次顯示出來。</p><p> 添加學(xué)生信息??梢园凑?qǐng)D形的界面的顯示依次輸入新學(xué)生的“學(xué)號(hào)”,“姓名”,“性別”,“
15、專業(yè)”,“家庭住址”,“籍貫”,“入學(xué)時(shí)間”。完成新紀(jì)錄的添加。以及添加學(xué)生的各科成績。</p><p> 修改學(xué)生信息??梢赃x擇按照“學(xué)號(hào)”找到該學(xué)生的學(xué)生信息并輸入要修改的屬性,并輸入新的數(shù)據(jù)。完成對(duì)學(xué)生記錄的修改。</p><p> 刪除學(xué)生記錄。可以根據(jù)輸入的“學(xué)號(hào)”進(jìn)行刪除的操作。</p><p> 修改密碼。登錄當(dāng)前系統(tǒng)的用戶可以通過此功能實(shí)現(xiàn)登錄
16、密碼的修改。</p><p><b> 2.3系統(tǒng)架構(gòu)</b></p><p> 界面使用Java應(yīng)用程序用戶界面的開發(fā)工具包Swing進(jìn)行窗體界面的布局,以及實(shí)現(xiàn)部分窗口事件的相應(yīng)。</p><p> 后臺(tái)使用SQL2012數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的存儲(chǔ)。</p><p><b> 2.4 模塊劃分</b
17、></p><p> 該系統(tǒng)可以分為兩大模塊</p><p> 1)管理員:主要實(shí)現(xiàn)對(duì)學(xué)生信息的管理功能。具體功能如下:</p><p> ?、偬砑庸δ? 添加學(xué)生基本信息和學(xué)生成績。</p><p> ?、谛薷墓δ? 對(duì)學(xué)生的基本信息進(jìn)行修改。</p><p> ?、蹌h除功能: 刪除某個(gè)學(xué)號(hào)學(xué)生
18、的基本信息。</p><p> ?、懿樵児δ? 可以查詢某個(gè)學(xué)生的基本信息,也可以將所有學(xué)生的信息和成績以表格的形式顯示出來。</p><p> ⑤修改密碼: 管理員可以將自己的登錄密碼進(jìn)行修改。</p><p> ⑥退出系統(tǒng): 點(diǎn)擊后,將會(huì)退出該系統(tǒng)。</p><p> 2)學(xué)生:主要實(shí)現(xiàn)查詢功能。具體功能如下:</
19、p><p> ?、俨樵兂煽?點(diǎn)擊該選項(xiàng),就會(huì)將當(dāng)前登陸的學(xué)生成績顯示出來。</p><p> ?、谛薷拿艽a:登錄后,學(xué)生可以根據(jù)需要對(duì)自己的登錄密碼進(jìn)行修改。</p><p> ③退出系統(tǒng): 點(diǎn)擊后,將會(huì)退出該系統(tǒng)。</p><p><b> 三、 詳細(xì)設(shè)計(jì)</b></p><p> 3
20、.1 SQL數(shù)據(jù)庫表</p><p> 該系統(tǒng)數(shù)據(jù)庫中有三張表分別是users(管理員)、student(學(xué)生基本信息)、grade(學(xué)生成績)</p><p><b> Users表</b></p><p><b> Student表</b></p><p><b> Grade
21、表</b></p><p> 3.2程序系統(tǒng)設(shè)計(jì)圖:</p><p> 失敗 管理員成功</p><p><b> 學(xué)生成功</b></p><p> 3.3主要的類及類間關(guān)系:</p><p><b> extends</b&
22、gt;</p><p><b> ?。?lt;/b></p><p> 四、 系統(tǒng)實(shí)現(xiàn)編碼及運(yùn)行結(jié)果</p><p><b> 4.1登陸界面:</b></p><p> 登錄界面選擇用戶類型,輸入“用戶名”和“密碼”,點(diǎn)擊“登錄”,通過驗(yàn)證則進(jìn)入主功能菜單。如果輸入錯(cuò)誤則會(huì)有相應(yīng)的警告!</
23、p><p> 用戶名或密碼不正確時(shí):</p><p> 登錄成功后會(huì)進(jìn)入相應(yīng)的主界面。</p><p> 4.2 管理員權(quán)限:</p><p> 4.2.1添加學(xué)生信息</p><p> 當(dāng)管理員點(diǎn)擊添加學(xué)生信息時(shí)出現(xiàn)此界面。當(dāng)添加的學(xué)生在數(shù)據(jù)庫中已經(jīng)存在時(shí)出現(xiàn)此提示信息:</p><p>
24、; 4.2.2添加學(xué)生成績:</p><p> 當(dāng)管理員點(diǎn)擊添加學(xué)生成績時(shí)出現(xiàn)此界面。</p><p> 當(dāng)添加的學(xué)生的成績?cè)跀?shù)據(jù)庫中已經(jīng)存在時(shí)出現(xiàn)此提示信息:</p><p> 添加成功后出現(xiàn)此提示信息:</p><p> 4.2.3修改學(xué)生信息:</p><p> 管理員輸入要修改的學(xué)生學(xué)號(hào),點(diǎn)擊查詢,
25、該學(xué)生信息就會(huì)出現(xiàn),此時(shí)修改按鈕可用</p><p> 修改后,點(diǎn)擊“修改”,出現(xiàn)確認(rèn)對(duì)話框</p><p> 點(diǎn)擊“是”之后,出現(xiàn)提示消息</p><p> 4.2.4刪除學(xué)生信息:</p><p> 管理員輸入要?jiǎng)h除的學(xué)生學(xué)號(hào),點(diǎn)擊查詢,該學(xué)生信息就會(huì)出現(xiàn),此時(shí)“刪除”按鈕可用</p><p> 管理員點(diǎn)
26、擊“刪除”后,出現(xiàn)確認(rèn)對(duì)話框</p><p> 點(diǎn)擊“是”之后學(xué)生信息被刪除。</p><p> 4.2.5查詢單個(gè)學(xué)生信息:</p><p> 點(diǎn)擊查詢后,該學(xué)生信息將會(huì)被顯示出來。</p><p> 4.2.6 查詢所有學(xué)生信息:</p><p> 4.2.7查詢所有學(xué)生成績:</p>&l
27、t;p> 4.2.8修改密碼:</p><p> 原密碼不正確時(shí),提示消息:</p><p> 原密碼正確,但兩次新密碼不相同時(shí),提示消息:</p><p> 成功修改后,提示消息:</p><p><b> 4.3學(xué)生權(quán)限:</b></p><p> 4.3.1學(xué)生成績查詢:&
28、lt;/p><p> 4.3.2學(xué)生修改密碼:</p><p> 界面同管理員修改密碼</p><p><b> 4.4核心代碼:</b></p><p> 數(shù)據(jù)庫Database:</p><p> package 學(xué)生學(xué)籍管理系統(tǒng);</p><p> impor
29、t java.sql.*;</p><p> public class Database {</p><p> private Statement stmt=null;</p><p> ResultSet rs=null;</p><p> private Connection conn=null;</p><p
30、> String sql;</p><p> String strurl="jdbc:sqlserver://localhost:1433;DatabaseName=student";</p><p> public Database(){</p><p><b> }</b></p><p
31、><b> /*</b></p><p><b> * 打開數(shù)據(jù)庫連接</b></p><p><b> */</b></p><p> public void OpenConn()throws Exception{</p><p><b> try{
32、</b></p><p> Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");</p><p> conn=DriverManager.getConnection(strurl,"sa","201314");</p><p
33、><b> }</b></p><p> catch(Exception e){</p><p> System.err.println("OpenConn:"+e.getMessage());</p><p><b> }</b></p><p><b>
34、; }</b></p><p><b> /*</b></p><p> * 執(zhí)行SQL語句,返回?cái)?shù)據(jù)集rs </p><p><b> */</b></p><p> public ResultSet executeQuery(String sql){</p>
35、<p> stmt =null;</p><p><b> rs=null;</b></p><p><b> try{</b></p><p> stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_RE
36、AD_ONLY);</p><p> rs=stmt.executeQuery(sql);</p><p><b> }</b></p><p> catch(SQLException e){</p><p> System.err.println("executeQuery:"+e.getM
37、essage());</p><p><b> }</b></p><p> return rs;</p><p><b> }</b></p><p><b> /*</b></p><p><b> * 執(zhí)行SQL語句</b
38、></p><p><b> */</b></p><p> public void executeUpdate(String sql){</p><p> stmt =null;</p><p><b> rs=null;</b></p><p><b&
39、gt; try{</b></p><p> stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);</p><p> stmt.executeQuery(sql);</p><p> conn.commit();</p&
40、gt;<p><b> }</b></p><p> catch(SQLException e){</p><p> System.err.println("executeUpdate:"+e.getMessage());</p><p><b> }</b></p>
41、<p><b> }</b></p><p> public void closeStmt(){</p><p><b> try{</b></p><p> stmt.close();</p><p><b> }</b></p><
42、p> catch(SQLException e){</p><p> System.err.println("closeStmt:"+e.getMessage());</p><p><b> }</b></p><p><b> }</b></p><p><
43、;b> /*</b></p><p><b> * 關(guān)閉數(shù)據(jù)庫連接</b></p><p><b> */ </b></p><p> public void closeConn(){</p><p><b> try{</b></p>
44、<p> conn.close();</p><p><b> }</b></p><p> catch(SQLException e){</p><p> System.err.println("aq.closeConn:"+e.getMessage());</p><p>&l
45、t;b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 數(shù)據(jù)庫操作類StuBean:</p><p> package 學(xué)生學(xué)籍管理系統(tǒng);</p><p> import java.sq
46、l.*;</p><p> import javax.swing.*;</p><p> public class StuBean {</p><p> String sql;</p><p> ResultSet rs=null;</p><p> String Name;</p><p
47、> String Password;</p><p> String Type;</p><p> String sNum;</p><p> String sName;</p><p> String sSex;</p><p> String sMajor;</p><p>
48、; String sHome;</p><p> String sBirth;</p><p> String sYear;</p><p> String GaoDeng;</p><p> String LiSan;</p><p> String ShuJu;</p><p>
49、 String GaiLv;</p><p> String Java;</p><p> String English;</p><p><b> /*</b></p><p><b> * 驗(yàn)證登陸</b></p><p><b> */</b
50、></p><p> public boolean login(String name,String password,String type){</p><p> Database DB=new Database();</p><p> this.sNum=name;</p><p> this.Name=name;<
51、/p><p> this.Password=password;</p><p> this.Type=type;</p><p> if(Password==null||Password.equals("")){</p><p> JOptionPane.showMessageDialog(null, "請(qǐng)輸
52、入正確的用戶名和密碼","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p> return false;</p><p><b> }</b></p><p><b> else{</b></p><p> if(Type.equa
53、ls("學(xué)生")){</p><p> sql="select * from student where snum='"+sNum+"'and password='"+Password+"'";</p><p><b> }</b></p>
54、<p><b> else</b></p><p> if(Type.equals("管理員")){</p><p> sql="select * from users where name='"+Name+"'and password='"+Password+&qu
55、ot;'";</p><p><b> }</b></p><p><b> try {</b></p><p> DB.OpenConn();</p><p> rs=DB.executeQuery(sql);</p><p> if(rs.ne
56、xt()){</p><p> return true;</p><p><b> }</b></p><p><b> else{</b></p><p> return false;</p><p><b> }</b></p>
57、<p><b> }</b></p><p> catch(Exception e){</p><p> return false;</p><p><b> }</b></p><p><b> finally{</b></p><
58、p> DB.closeStmt();</p><p> DB.closeConn();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
59、 /*</b></p><p><b> * 修改密碼</b></p><p><b> */</b></p><p> public void ChangePassword(String name,String password,String type){</p><p>
60、Database DB=new Database();</p><p> this.sNum=name;</p><p> this.Name=name;</p><p> this.Password=password;</p><p> this.Type=type;</p><p> if(Passwor
61、d==null||Password.equals("")){</p><p> JOptionPane.showMessageDialog(null, "請(qǐng)輸入新密碼","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p
62、><b> else{</b></p><p> if(Type.equals("學(xué)生")){</p><p> sql="update student set password='"+Password+"' where snum ='"+sNum+"'&
63、quot;;</p><p><b> }</b></p><p><b> else</b></p><p> if(Type.equals("管理員")){</p><p> sql="update users set password='"
64、;+Password+"' where name ='"+Name+"'";</p><p><b> }</b></p><p><b> try{</b></p><p> DB.OpenConn();</p><p> D
65、B.executeUpdate(sql);</p><p> JOptionPane.showMessageDialog(null,"成功修改密碼!");</p><p><b> }</b></p><p> catch(Exception e){</p><p> System.out.p
66、rintln(e);</p><p> JOptionPane.showMessageDialog(null,"修改失敗!","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> finally{</b>
67、;</p><p> DB.closeStmt();</p><p> DB.closeConn();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>&l
68、t;p><b> /*</b></p><p><b> * 添加學(xué)生信息</b></p><p><b> */</b></p><p> public void stuAdd(String num,String name,String sex,String major,String
69、home,String birth,String year){</p><p> Database DB=new Database();</p><p> this.sNum=num;</p><p> this.sName=name;</p><p> this.sSex=sex;</p><p> thi
70、s.sMajor=major;</p><p> this.sHome=home;</p><p> this.sBirth=birth;</p><p> this.sYear=year;</p><p> if(sNum==null||sNum.equals("")||sName==null||sName.eq
71、uals("")){</p><p> JOptionPane.showMessageDialog(null, "請(qǐng)輸入學(xué)號(hào)和姓名","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> els
72、e{</b></p><p> sql="insert into student(snum,sname,ssex,smajor,shome,sbirth,syear) values"</p><p> + "('"+sNum+"','"+sName+"','&quo
73、t;+sSex+"','"+sMajor+"','"+sHome+"','"+sBirth+"','"+sYear+"') ";</p><p><b> try{</b></p><p> D
74、B.OpenConn();</p><p> DB.executeUpdate(sql);</p><p> JOptionPane.showMessageDialog(null,"成功添加一條新的紀(jì)錄!");</p><p><b> }</b></p><p> catch(Excepti
75、on e){</p><p> System.out.println(e);</p><p> JOptionPane.showMessageDialog(null,"保存失??!","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p&g
76、t;<p><b> finally{</b></p><p> DB.closeStmt();</p><p> DB.closeConn();</p><p><b> }</b></p><p><b> }</b></p><
77、p><b> }</b></p><p><b> /*</b></p><p><b> * </b></p><p><b> */</b></p><p> public void GradeAdd(String num,String
78、 name,String gaodeng,String lisan,String shuju ,String gailv,String java ,String english ){</p><p> Database DB=new Database();</p><p> this.sNum=num;</p><p> this.sName=name;<
79、;/p><p> this.GaoDeng=gaodeng;</p><p> this.LiSan=lisan;</p><p> this.ShuJu=shuju;</p><p> this.GaiLv=gailv;</p><p> this.Java=java;</p><p>
80、 this.English=english;</p><p> if(sNum==null||sName==null){</p><p> JOptionPane.showMessageDialog(null, "請(qǐng)輸入學(xué)號(hào)和姓名","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p><
81、;b> }</b></p><p><b> else{</b></p><p> sql="insert into grade(snum,sname,高等數(shù)學(xué),離散數(shù)學(xué),數(shù)據(jù)結(jié)構(gòu),概率論,Java,大學(xué)英語) values"</p><p> + "('"+sNum+&
82、quot;','"+sName+"','"+GaoDeng+"','"+LiSan+"','"+ShuJu+"','"+GaiLv+"','"+Java+"','"+English+"
83、39;) ";</p><p><b> try{</b></p><p> DB.OpenConn();</p><p> DB.executeUpdate(sql);</p><p> JOptionPane.showMessageDialog(null,"成功添加一條新的紀(jì)錄!"
84、;);</p><p><b> }</b></p><p> catch(Exception e){</p><p> System.out.println(e);</p><p> JOptionPane.showMessageDialog(null,"保存失?。?quot;,"錯(cuò)誤&qu
85、ot;,JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> finally{</b></p><p> DB.closeStmt();</p><p> DB.closeConn();</p><p>
86、;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> /*</b></p><p><b> * 修改學(xué)生信息</b></p><p
87、><b> */</b></p><p> public void stuModify(String num,String name,String sex,String major,String home,String birth,String year){</p><p> Database DB=new Database();</p>&
88、lt;p> this.sNum=num;</p><p> this.sName=name;</p><p> this.sSex=sex;</p><p> this.sMajor=major;</p><p> this.sHome=home;</p><p> this.sBirth=birth
89、;</p><p> this.sYear=year;</p><p> sql="update student set sname='"+sName+"',ssex='"+sSex+"',smajor='"+sMajor+"',shome='"+s
90、Home+"',sbirth='"+sBirth+"',syear='"+sYear+"' where snum="+Integer.parseInt(sNum)+"";</p><p><b> try{</b></p><p> DB.Op
91、enConn();</p><p> DB.executeUpdate(sql);</p><p> JOptionPane.showMessageDialog(null,"成功修改一條新的紀(jì)錄!");</p><p><b> }</b></p><p> catch(Exception e
92、){</p><p> System.out.println(e);</p><p> JOptionPane.showMessageDialog(null,"更新失?。?quot;,"錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p>
93、<p><b> finally{</b></p><p> DB.closeStmt();</p><p> DB.closeConn();</p><p><b> }</b></p><p><b> }</b></p><p>
94、;<b> /*</b></p><p><b> * 刪除學(xué)生信息</b></p><p><b> */</b></p><p> public void stuDelete(String num){</p><p> Database DB=new Databa
95、se();</p><p> this.sNum=num;</p><p> sql="delete from student where snum="+Integer.parseInt(sNum)+"";</p><p><b> try{</b></p><p> DB
96、.OpenConn();</p><p> DB.executeUpdate(sql);</p><p> JOptionPane.showMessageDialog(null,"成功刪除一條紀(jì)錄!");</p><p><b> }</b></p><p> catch(Exception
97、e){</p><p> System.out.println(e);</p><p> JOptionPane.showMessageDialog(null,"刪除失敗!","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p>
98、<p><b> finally{</b></p><p> DB.closeStmt();</p><p> DB.closeConn();</p><p><b> }</b></p><p><b> }</b></p><p&g
99、t;<b> /*</b></p><p><b> * 按學(xué)號(hào)查詢</b></p><p><b> */</b></p><p> public String[] stuSearch(String num){</p><p> Database DB=new Da
100、tabase();</p><p> this.sNum=num;</p><p> String [] s=new String[6];</p><p> if(sNum==null||sNum.equals("")){</p><p><b> s=null;</b></p>
101、<p> JOptionPane.showMessageDialog(null, "請(qǐng)輸入學(xué)號(hào)","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><p><b> else{</b></p><p>
102、 sql="select * from student where snum="+Integer.parseInt(sNum)+"";</p><p><b> try{</b></p><p> DB.OpenConn();</p><p> rs=DB.executeQuery(sql);<
103、;/p><p> if(rs.next()){</p><p> s[0]=rs.getString("sname");</p><p> s[1]=rs.getString("ssex");</p><p> s[2]=rs.getString("smajor");</p
104、><p> s[3]=rs.getString("shome");</p><p> s[4]=rs.getString("sbirth");</p><p> s[5]=rs.getString("syear");</p><p><b> }</b>&l
105、t;/p><p><b> else{</b></p><p><b> s=null;</b></p><p> JOptionPane.showMessageDialog(null, "您查詢的學(xué)生信息不存在","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);&
106、lt;/p><p><b> }</b></p><p><b> }</b></p><p> catch(Exception e){</p><p><b> }</b></p><p><b> finally{</b>
107、</p><p> DB.closeStmt();</p><p> DB.closeConn();</p><p><b> }</b></p><p><b> }</b></p><p><b> return s;</b></p&
108、gt;<p><b> }</b></p><p><b> /*</b></p><p><b> * 查詢成績</b></p><p><b> */</b></p><p> public String[] stuSelect
109、Grade(String num){</p><p> Database DB=new Database();</p><p> this.sNum=num;</p><p> String [] s=new String[7];</p><p> sql="select * from grade where snum=&q
110、uot;+Integer.parseInt(sNum)+"";</p><p><b> try{</b></p><p> DB.OpenConn();</p><p> rs=DB.executeQuery(sql);</p><p> if(rs.next()){</p>
111、<p> s[0]=rs.getString("sname");</p><p> s[1]=rs.getString("高等數(shù)學(xué)");</p><p> s[2]=rs.getString("離散數(shù)學(xué)");</p><p> s[3]=rs.getString("數(shù)據(jù)結(jié)構(gòu)&qu
112、ot;);</p><p> s[4]=rs.getString("概率論");</p><p> s[5]=rs.getString("java");</p><p> s[6]=rs.getString("大學(xué)英語");</p><p><b> }</b
113、></p><p><b> else</b></p><p><b> s=null;</b></p><p><b> }</b></p><p> catch(Exception e){</p><p><b> }<
114、;/b></p><p><b> finally{</b></p><p> DB.closeStmt();</p><p> DB.closeConn();</p><p><b> }</b></p><p><b> return s;<
115、;/b></p><p><b> } </b></p><p><b> }</b></p><p><b> 登陸類Login:</b></p><p> package 學(xué)生學(xué)籍管理系統(tǒng);</p><p> import java
116、x.swing.*;</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> public class Login extends JFrame implements ActionListener{</p><p> static String ty
117、pe;</p><p> JFrame m=new JFrame("您好,請(qǐng)您先登錄!");</p><p> JTextField t1=new JTextField(null,5);</p><p> JPasswordField t2=new JPasswordField(null,5);</p><p>
118、JPasswordField t3=new JPasswordField(null,5);</p><p> JRadioButton b1=new JRadioButton("學(xué)生");</p><p> JRadioButton b2=new JRadioButton("管理員");</p><p> JLabel
119、l1=new JLabel("用戶名:");</p><p> JLabel l2=new JLabel("密碼:");</p><p> Label l3=new Label("確認(rèn)密碼:");</p><p> JLabel jpic;</p><p> JLabel l
120、=new JLabel("歡迎登陸學(xué)籍管理系統(tǒng)");</p><p> JButton bt1=new JButton("登陸");</p><p> JButton bt2=new JButton("退出");</p><p> public Login(){</p><p&g
121、t; Container n=m.getContentPane();</p><p> n.setLayout(null);</p><p> l.setFont(new Font("TimesRoman",Font.BOLD,24));</p><p> l.setBounds(120,20,300,30);</p>&l
122、t;p> l1.setBounds(193,100,75,30);</p><p> l1.setFont(new Font("TimesRoman",Font.BOLD,16));</p><p> t1.setBounds(250,100,150,30);</p><p> l2.setBounds(193,140,75,30)
123、;</p><p> l2.setFont(new Font("TimesRoman",Font.BOLD,16));</p><p> t2.setBounds(250,140,150,30);</p><p> bt1.setBounds(250,180,60,30);</p><p> bt2.setBoun
124、ds(340,180,60,30);</p><p> jpic=new JLabel(new ImageIcon("image/denglu.jpg"));</p><p> jpic.setBounds(68,90,120,100);</p><p> n.add(l);n.add(l1);n.add(t1); n.add(l2); n
125、.add(t2);n.add(l3);n.add(t3); n.add(bt1);n.add(bt2);n.add(jpic);</p><p> b1.setBounds(250,70,70,30);</p><p> b2.setBounds(340,70,70,30);</p><p> ButtonGroup rg=new ButtonGroup();
126、 </p><p> n.add(b2); rg.add(b2); n.add(b1); rg.add(b1);</p><p> bt1.addActionListener(this);</p><p> bt2.addActionListener(this);</p><p> m.setSize(500,400);</p&
127、gt;<p> m.setVisible(true);</p><p> m.setLocation(500,200);</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e){</p><p> if(e.ge
128、tSource()==bt1){</p><p> if(b1.isSelected()){</p><p> type="學(xué)生";</p><p><b> }</b></p><p> if(b2.isSelected()){</p><p> type=&quo
129、t;管理員";</p><p><b> }</b></p><p> StuBean Login=new StuBean();</p><p> char[] password1=t2.getPassword();</p><p> Save.users=t1.getText();</p>
130、<p> String password=new String(password1);</p><p> if(Login.login(Save.users,password,type)){</p><p> if(type.equals("管理員")){</p><p> new MainFrame();</p>
131、;<p><b> }</b></p><p> if(type.equals("學(xué)生")){</p><p> new Stu();</p><p><b> }</b></p><p> m.dispose();</p><p>
132、;<b> }</b></p><p><b> else{</b></p><p> JOptionPane.showMessageDialog(null,"用戶名不存在或密碼不正確!");</p><p><b> }</b></p><p>&
133、lt;b> }</b></p><p> if(e.getSource()==bt2){</p><p> System.exit(0);</p><p><b> }</b></p><p><b> }</b></p><p> public
134、 static void main(String[]args){</p><p> new Login();</p><p><b> }</b></p><p><b> }</b></p><p><b> 管理員主界面:</b></p><p&
135、gt; package 學(xué)生學(xué)籍管理系統(tǒng);</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> public class MainFrame extends JFrame imple
136、ments ActionListener {</p><p> JFrame mm=new JFrame();</p><p> Dimension faceSize=new Dimension(400,300);</p><p> JMenuBar menubar;</p><p> JMenu system,adds,modif
137、y,delete,select;</p><p> JMenuItem 修改密碼,exit,添加學(xué)生信息,添加學(xué)生成績,修改學(xué)生信息,刪除學(xué)生信息,按學(xué)號(hào)查詢,查詢所有學(xué)生信息,查詢所有學(xué)生成績;</p><p> JLabel label=null; </p><p> public MainFrame()
138、{</p><p> Container nn=mm.getContentPane();</p><p> nn.setLayout(null);</p><p> setTitle("學(xué)籍管理系統(tǒng)");</p><p> system=new JMenu("系統(tǒng)管理");</p>
139、<p> 修改密碼=new JMenuItem("修改密碼");</p><p> exit=new JMenuItem("退出");</p><p> adds=new JMenu("添加");</p><p> 添加學(xué)生信息=new JMenuItem("添加學(xué)生信息&qu
140、ot;);</p><p> 添加學(xué)生成績=new JMenuItem("添加學(xué)生成績");</p><p> modify=new JMenu("修改");</p><p> 修改學(xué)生信息=new JMenuItem("修改學(xué)生信息");</p><p> delete=n
141、ew JMenu("刪除");</p><p> 刪除學(xué)生信息=new JMenuItem("刪除學(xué)生信息");</p><p> select=new JMenu("查詢");</p><p> 按學(xué)號(hào)查詢=new JMenuItem("按學(xué)號(hào)查詢");</p>&
142、lt;p> 查詢所有學(xué)生信息=new JMenuItem("查詢所有學(xué)生信息");</p><p> 查詢所有學(xué)生成績=new JMenuItem("查詢所有學(xué)生成績");</p><p> menubar=new JMenuBar();</p><p> menubar.add(system);</p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
- 學(xué)生管理系統(tǒng)-java課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
- unix課程設(shè)計(jì)--java學(xué)生管理系統(tǒng)
- java課程設(shè)計(jì)報(bào)告學(xué)生管理系統(tǒng)
- java課程設(shè)計(jì)---學(xué)生學(xué)籍管理系統(tǒng)
- java學(xué)生管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- java課程設(shè)計(jì)--學(xué)生黨員管理系統(tǒng)
- java課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)
- java課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- java課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- java課程設(shè)計(jì)----學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)java課程設(shè)計(jì)
- java課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- java課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)
- java課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- java學(xué)生成績管理系統(tǒng) 課程設(shè)計(jì)
- java學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論