學(xué)生綜合測評系統(tǒng)(Java)_第1頁
學(xué)生綜合測評系統(tǒng)(Java)_第2頁
學(xué)生綜合測評系統(tǒng)(Java)_第3頁
學(xué)生綜合測評系統(tǒng)(Java)_第4頁
學(xué)生綜合測評系統(tǒng)(Java)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學(xué)生綜合測評系統(tǒng)目錄1.需求分析22.概要設(shè)計23.詳細設(shè)計24.用戶使用手冊24.1環(huán)境設(shè)置24.2操作步驟25.程序創(chuàng)新點26.使用的主要技術(shù)27.總結(jié)2附錄2需求分析隨著軟件的開展,學(xué)生的信息如今都是存儲在電腦的數(shù)據(jù)庫當中的,依靠電腦軟件的學(xué)生綜合測評系統(tǒng)可以大大節(jié)約教師們的工作時間,所以我們編寫了學(xué)生綜合測評系統(tǒng)。綜合測評系統(tǒng)能實時反響數(shù)據(jù)庫中同學(xué)的信息記錄和信息處理。每條信息記錄要求包含:學(xué)號姓名性別家庭地址聯(lián)系高等數(shù)學(xué)物理英語考試平均成績10.考試名次11.同學(xué)互評分12.品德成績13.任課老師評分14.綜合測評總分15.綜合測評名次系統(tǒng)功能包括:查詢學(xué)生信息添加學(xué)生信息刪除學(xué)生信息修改學(xué)生信息顯示所有學(xué)生信息查詢學(xué)生成績添加學(xué)生成績修改學(xué)生成績顯示所有學(xué)生成績10.顯示所有信息〔按考試名次排序、按綜合測名名次排序〕11.退出概要設(shè)計根據(jù)需求分析中的描述,我們把學(xué)生的信息都存入數(shù)據(jù)庫中,在數(shù)據(jù)庫中單個學(xué)生內(nèi)包含信息如下:學(xué)號:sno 短文本姓名:sname 短文本性別:sex 短文本家庭地址:add 長文本聯(lián)系:tel 短文本高等數(shù)學(xué):math 數(shù)字〔Double〕物理:physics 數(shù)字〔Double〕英語:english 數(shù)字〔Double〕考試平均成績:score_ave 數(shù)字〔Double〕考試名次:no_test 數(shù)字〔Integer〕同學(xué)互評分:score_tog 數(shù)字〔Double〕品德成績:score_pol 數(shù)字〔Double〕任課教師評分:score_tea 數(shù)字〔Double〕綜合測試綜合:score_syn 數(shù)字〔Double〕綜合測試名次:no_syn 數(shù)字〔Integer〕在此程序中所運用的函數(shù)全部為構(gòu)造函數(shù)的功能AddStudentFrm_info.class//按信息添加界面AddStudentFrm_score.class//按成績添加界面DeleteStudentFrm_info.class//刪除界面DispStudentFrm_info.class//按信息顯示全部界面DispStudentFrm_score.class//按成績顯示全部界面EnterStudentFrm_delete_info.class//進入刪除信息界面EnterStudentFrm_disp_info.class//進入顯示信息界面EnterStudentFrm_disp_score.class//進入顯示成績界面EnterStudentFrm_modify_info.class//進入修改信息界面EnterStudentFrm_modify_score.class//進入修改成績界面MainFrm.class//主界面ModifyStudentFrm_info.class//按信息修改界面ModifyStudentFrm_score.class//按成績修改界面StudentDao.class//操作函數(shù)StudentFrm_all.class//顯示全部信息界面StudentFrm_info_all.class//顯示信息界面StudentFrm_score_all.class//顯示成績界面詳細設(shè)計*********************************************************************查詢學(xué)生信息:輸入要查詢學(xué)生的學(xué)號publicEnterStudentFrm_disp_info()查詢學(xué)生信息界面 publicDispStudentFrm_info(Stringsno)查詢信息的函數(shù) publicString[]queryStudents_info_one(Stringsno)privatevoidexecuteUpdate(Stringsql)*********************************************************************查詢學(xué)生成績:輸入要查詢學(xué)生的學(xué)號publicEnterStudentFrm_disp_score()查詢學(xué)生成績界面 publicDispStudentFrm_score(Stringsno)查詢成績的函數(shù) publicString[]queryStudents_score_one(Stringsno)privatevoidexecuteUpdate(Stringsql)*********************************************************************添加學(xué)生信息:添加學(xué)生信息界面publicAddStudentFrm_info() 2)添加學(xué)生信息的函數(shù)publicbooleanaddStudent_info(Stringsno,Stringsname,Stringsex,Stringadd,Stringtel)privatevoidexecuteUpdate(Stringsql)*********************************************************************添加學(xué)生成績:添加學(xué)生成績界面publicAddStudentFrm_score() 2)添加學(xué)生成績的函數(shù)publicintaddStudent_score(Stringsno,doublemath,doublephysics,doubleenglish,doublescore_ave,doublescore_tog,doublescore_pol,doublescore_tea,doublescore_syn)publicvoidorderStudent_no_test()publicvoidorderStudent_no_syn()privatevoidexecuteUpdate(Stringsql)*********************************************************************刪除學(xué)生:輸入要刪除學(xué)生的學(xué)號publicEnterStudentFrm_delete_info()刪除學(xué)生界面 publicDeleteStudentFrm_info(Stringsno)刪除的函數(shù) publicvoiddeleteStudent_sno(Stringsno)publicvoidorderStudent_no_test()publicvoidorderStudent_no_syn()privatevoidexecuteUpdate(Stringsql)*********************************************************************修改學(xué)生信息:輸入要修改學(xué)生的學(xué)號publicEnterStudentFrm_modify_info()修改學(xué)生信息界面 publicModifyStudentFrm_info(Stringsno)修改信息的函數(shù) publicbooleanmodifyStudent_info(Stringsno,Stringsname,Stringsex,Stringadd,Stringtel)privatevoidexecuteUpdate(Stringsql)*********************************************************************修改學(xué)生成績:輸入要修改學(xué)生的學(xué)號publicEnterStudentFrm_modify_score()修改學(xué)生成績界面 publicModifyStudentFrm_score(Stringsno)修改成績的函數(shù) publicbooleanmodifyStudent_score(Stringsno,doublemath,doublephysics,doubleenglish,doublescore_ave,doublescore_tog,doublescore_pol,doublescore_tea,doublescore_syn)publicvoidorderStudent_no_test()publicvoidorderStudent_no_syn()privatevoidexecuteUpdate(Stringsql)*********************************************************************顯示所有學(xué)生信息:顯示信息界面:privatevoidinitTable()privatevoidupdateTable()publicStudentFrm_info_all()顯示的函數(shù)publicString[][]queryStudents_info_all()privatevoidexecuteUpdate(Stringsql)*********************************************************************顯示所有學(xué)生信息:顯示信息界面:privatevoidinitTable()privatevoidupdateTable()publicStudentFrm_score_all()顯示的函數(shù)publicString[][]queryStudents_score_all()privatevoidexecuteUpdate(Stringsql)*********************************************************************顯示所有信息:顯示信息界面:privatevoidinitTable()privatevoidupdateTable()publicStudentFrm_all()顯示的函數(shù)publicString[][]queryStudents_all()privatevoidexecuteUpdate(Stringsql)*********************************************************************用戶使用手冊4.1環(huán)境設(shè)置1.在Eclipse中創(chuàng)立一個Java工程和使用的類,如下圖。2.在Access中創(chuàng)立名為stu_pro的數(shù)據(jù)庫。4.2操作步驟0.編譯MainFrm.java的文件,如果有編譯錯誤,那么根據(jù)提示修改,否那么編譯成功。最后編譯、連接和運行測試程序文件,如下圖。1.1在主窗口中,選擇學(xué)生信息管理,進入學(xué)生信息管理菜單,如下圖。1.2在主窗口中,選擇查詢學(xué)生信息,輸入要查詢學(xué)生的學(xué)號點擊“確定〞,如沒有該同學(xué),系統(tǒng)會提示返回主界面,如下圖。1.3在主窗口中,選擇添加學(xué)生信息,輸入完畢后點擊“確定〞系統(tǒng)會查詢是否有相同學(xué)生,如有系統(tǒng)提示返回主界面,如下圖1.4在主窗口中,選擇刪除學(xué)生信息,輸入要刪除學(xué)生的學(xué)號點擊“確定〞,如沒有該同學(xué),系統(tǒng)會提示返回主界面。點擊“確定〞就刪除此學(xué)生,如下圖。1.5在主窗口中,選擇修改學(xué)生信息,輸入要修改學(xué)生的學(xué)號點擊“確定〞,如沒有該同學(xué),系統(tǒng)會提示返回主界面。直接修改信息完成后點擊“確定〞,如下圖。1.6在窗口中,選擇顯示所有學(xué)生信息,如下圖。2.1在主窗口中,選擇學(xué)生成績管理,進入學(xué)生成績管理菜單,如下圖。2.2在主窗口中,選擇查詢學(xué)生成績,輸入要查詢學(xué)生的學(xué)號點擊“確定〞,如沒有該同學(xué),系統(tǒng)會提示返回主界面,如下圖。1.3在主窗口中,選擇添加學(xué)生成績,輸入完畢后點擊“確定〞,系統(tǒng)會查詢是否有此同學(xué),如有相同學(xué)號系統(tǒng)提示返回主界面,如下圖2.5在主窗口中,選擇修改學(xué)生信息,輸入要修改學(xué)生的學(xué)號點擊“確定〞,如沒有該同學(xué),系統(tǒng)會提示返回主界面。直接修改信息完成后點擊“確定〞,如下圖。2.6在窗口中,選擇顯示所有學(xué)生成績,可以選擇按照哪一類進行排序,如下圖。3.1在主窗口中,選擇顯示所有信息,進入顯示所有信息菜單,如下圖。3.2在窗口中,選擇顯示所有信息,如下圖。程序創(chuàng)新點系統(tǒng)自動對同學(xué)的考試名次和綜合成績名次進行排序。使用的主要技術(shù)主要使用數(shù)據(jù)庫添加、插入、排序、讀取、刪除和Java界面設(shè)計總結(jié)在本次編程過程中,我先進行編程思路的梳理,搭建起系統(tǒng)大體的結(jié)構(gòu)框架。在此系統(tǒng)編寫中要運用到數(shù)據(jù)庫技術(shù)和Java界面功能,我翻閱了以前的課程學(xué)習(xí)和實驗報告也到圖書館和網(wǎng)絡(luò)進行相關(guān)內(nèi)容的復(fù)習(xí)和補充,并在此程序中逐步攻克實踐。程序使用GUI的界面能讓用戶更加方便地使用此系統(tǒng)。我采用SQL語句進行對數(shù)據(jù)庫的處理。本學(xué)生綜合測評系統(tǒng)仍然有不完善的地方,在GUI的控制界面設(shè)計比擬簡單,只完成了系統(tǒng)要求的功能。系統(tǒng)在連接數(shù)據(jù)庫操作和對數(shù)據(jù)庫頻繁地進行開關(guān),使得程序的時間效率大大降低,希望在以后做出改良。本系統(tǒng)采用的是Access桌面數(shù)據(jù)庫,希望以后改良采用MySQL的數(shù)據(jù)庫。本系統(tǒng)在運行過程中沒有釋放使用的內(nèi)存,希望以后有待改良。相信在之后的學(xué)習(xí)和實踐中能不斷完善此學(xué)生綜合測評系統(tǒng)的編寫。附錄packageproject;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassMainFrmextendsJFrame{privatevoidinitMenu(){ JMenuBarbar=newJMenuBar(); JMenum1=newJMenu("學(xué)生信息管理"); JMenum2=newJMenu("學(xué)生成績管理"); JMenum3=newJMenu("顯示所有信息"); JMenuItemm11=newJMenuItem("查詢學(xué)生信息"); JMenuItemm12=newJMenuItem("添加學(xué)生信息"); JMenuItemm13=newJMenuItem("刪除學(xué)生信息"); JMenuItemm14=newJMenuItem("修改學(xué)生信息"); JMenuItemm15=newJMenuItem("顯示所有學(xué)生信息"); JMenuItemm16=newJMenuItem("退出"); JMenuItemm21=newJMenuItem("查詢學(xué)生成績"); JMenuItemm22=newJMenuItem("添加學(xué)生成績"); JMenuItemm23=newJMenuItem("修改學(xué)生成績"); JMenuItemm24=newJMenuItem("顯示所有學(xué)生成績"); JMenuItemm31=newJMenuItem("顯示所有信息"); m11.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ StudentFrm_info_Clicked(); } }); m12.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ AddStudent_info_Clicked(); } }); m13.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ DeleteStudent_info_Clicked(); } }); m14.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ ModifyStudent_info_Clicked(); } }); m15.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ StudentFrm_info_all_Clicked(); } }); m16.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ exit_Clicked(); } }); m21.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ StudentFrm_score_Clicked(); } }); m22.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ AddStudent_score_Clicked(); } }); m23.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ ModifyStudent_score_Clicked(); } }); m24.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ StudentFrm_score_all_Clicked(); } }); m31.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ StudentFrm_all_Clicked(); } }); m1.add(m11); m1.add(m12); m1.add(m13); m1.add(m14); m1.add(m15); m1.addSeparator(); m1.add(m16); m2.add(m21); m2.add(m22); m2.add(m23); m2.add(m24); m3.add(m31); bar.add(m1); bar.add(m2); bar.add(m3);this.setJMenuBar(bar); }protectedvoidStudentFrm_all_Clicked(){newStudentFrm_all(); }protectedvoidStudentFrm_score_all_Clicked(){newStudentFrm_score_all(); }protectedvoidModifyStudent_score_Clicked(){newEnterStudentFrm_modify_score(); }protectedvoidAddStudent_score_Clicked(){newAddStudentFrm_score(); }protectedvoidStudentFrm_score_Clicked(){newEnterStudentFrm_disp_score(); }protectedvoidStudentFrm_info_Clicked(){newEnterStudentFrm_disp_info(); }protectedvoidModifyStudent_info_Clicked(){newEnterStudentFrm_modify_info(); }protectedvoidStudentFrm_info_all_Clicked(){newStudentFrm_info_all(); }privatevoidDeleteStudent_info_Clicked(){newEnterStudentFrm_delete_info(); }privatevoidAddStudent_info_Clicked(){newAddStudentFrm_info(); }privatevoidexit_Clicked(){if(JOptionPane.showConfirmDialog(this,"確認退出?","退出系統(tǒng)", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) System.exit(0); }publicMainFrm(){ JPaneljp=(JPanel)this.getContentPane(); initMenu();this.setTitle("學(xué)生綜合測評系統(tǒng)");this.setSize(1000,600);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }publicstaticvoidmain(String[]args){newMainFrm(); }}packageproject;import;importjava.sql.*;publicclassStudentDao{privateStringdriver="sun.jdbc.odbc.JdbcOdbcDriver";privateStringurl="jdbc:odbc:mydb";privatevoidexecuteUpdate(Stringsql){try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); cmd.executeUpdate(sql); con.close(); }catch(Exceptionex){ ex.printStackTrace(); } }publicbooleanmodifyStudent_info(Stringsno,Stringsname,Stringsex,Stringadd,Stringtel){ Stringsql="updatestu_prosetsno='"+sno+"',sname='"+sname+"',sex='"+sex+"',add='"+add +"',tel='"+tel+"'wheresno='"+sno+"'"; executeUpdate(sql); orderStudent_no_test(); orderStudent_no_syn();returntrue; }publicbooleanmodifyStudent_score(Stringsno,doublemath,doublephysics,doubleenglish,doublescore_ave,doublescore_tog,doublescore_pol,doublescore_tea,doublescore_syn){ Stringsql="updatestu_prosetmath='"+math+"',physics='"+physics+"',english='"+english +"',score_ave='"+score_ave+"',score_tog='"+score_tog+"',score_pol='"+score_pol +"',score_tea='"+score_tea+"',score_syn='"+score_syn+"'wheresno='"+sno+"'"; executeUpdate(sql); orderStudent_no_test(); orderStudent_no_syn();returntrue; }publicvoidorderStudent_no_syn(){ String[][]rows=null;introwcount=0;try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="selectcount(*)fromstu_pro"; ResultSetrs=cmd.executeQuery(sql); rs.next(); rowcount=rs.getInt(1); rows=newString[rowcount][3]; sql="select*fromstu_proorderbyscore_syndesc"; rs=cmd.executeQuery(sql); rowcount=0;while(rs.next()){ rows[rowcount][0]=rs.getString(1); rows[rowcount][1]=rs.getString(15); rows[rowcount][2]=String.valueOf(rowcount+1); rowcount++; } con.close(); }catch(Exceptionex){ ex.printStackTrace(); }for(inti=0;i<rows.length;i++){ executeUpdate("updatestu_prosetno_syn='"+rows[i][2]+"'wheresno='"+rows[i][0]+"'"); } }publicvoidorderStudent_no_test(){ String[][]rows=null;introwcount=0;try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="selectcount(*)fromstu_pro"; ResultSetrs=cmd.executeQuery(sql); rs.next(); rowcount=rs.getInt(1); rows=newString[rowcount][3]; sql="select*fromstu_proorderbyscore_avedesc"; rs=cmd.executeQuery(sql); rowcount=0;while(rs.next()){ rows[rowcount][0]=rs.getString(1); rows[rowcount][1]=rs.getString(9); rows[rowcount][2]=String.valueOf(rowcount+1); rowcount++; } con.close(); }catch(Exceptionex){ ex.printStackTrace(); }for(inti=0;i<rows.length;i++){ executeUpdate("updatestu_prosetno_test='"+rows[i][2]+"'wheresno='"+rows[i][0]+"'"); } }publicbooleanaddStudent_info(Stringsno,Stringsname,Stringsex,Stringadd,Stringtel){intflag=-1;try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="selectcount(sno)fromstu_prowheresno='"+sno+"'"; ResultSetrs=cmd.executeQuery(sql); rs.next(); flag=rs.getInt(1); con.close(); }catch(Exceptionex){ ex.printStackTrace(); }if(flag==0){ Stringsql="insertintostu_pro(sno,sname,sex,add,tel)values('"+sno+"','"+sname+"','"+sex+"','"+add+"','"+tel+"')"; executeUpdate(sql);returntrue; }elsereturnfalse; }publicintaddStudent_score(Stringsno,doublemath,doublephysics,doubleenglish,doublescore_ave,doublescore_tog,doublescore_pol,doublescore_tea,doublescore_syn){intflag=-1; StudentDaostudentDao=newStudentDao();try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="selectcount(sno)fromstu_prowheresno='"+sno+"'"; ResultSetrs=cmd.executeQuery(sql); rs.next(); flag=rs.getInt(1); con.close(); }catch(Exceptionex){ ex.printStackTrace(); } String[]temp_info=studentDao.queryStudents_info_one(sno); String[]temp_score=studentDao.queryStudents_score_one(sno);if(flag!=0){for(inti=1;i<temp_info.length;i++){if(temp_info[i]==null){ flag=1;returnflag; } }for(inti=2;i<temp_score.length;i++){if(temp_score[i]!=null){ flag=2;returnflag; } } Stringsql="updatestu_prosetmath='"+math+"',physics='"+physics+"',english='"+english +"',score_ave='"+score_ave+"',score_tog='"+score_tog+"',score_pol='"+score_pol +"',score_tea='"+score_tea+"',score_syn='"+score_syn+"'wheresno='"+sno+"'"; executeUpdate(sql); orderStudent_no_test(); orderStudent_no_syn();returnflag=3; }returnflag; }publicvoiddeleteStudent_sno(Stringsno){ Stringsql="deletefromstu_prowheresno='"+sno+"'"; executeUpdate(sql); orderStudent_no_test(); orderStudent_no_syn(); }publicString[][]queryStudents_all(){ String[][]rows=null;try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="selectcount(*)fromstu_pro"; ResultSetrs=cmd.executeQuery(sql); rs.next();introwcount=rs.getInt(1); rows=newString[rowcount][15]; sql="select*fromstu_proorderbysnoasc"; rs=cmd.executeQuery(sql); rowcount=0;while(rs.next()){for(inti=1;i<=15;i++) rows[rowcount][i-1]=rs.getString(i); rowcount++; } con.close(); }catch(Exceptionex){ ex.printStackTrace(); }returnrows; }publicString[][]queryStudents_info_all(){ String[][]rows=null;try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="selectcount(*)fromstu_pro"; ResultSetrs=cmd.executeQuery(sql); rs.next();introwcount=rs.getInt(1); rows=newString[rowcount][5]; sql="select*fromstu_proorderbysnoasc"; rs=cmd.executeQuery(sql); rowcount=0;while(rs.next()){for(inti=1;i<=5;i++) rows[rowcount][i-1]=rs.getString(i); rowcount++; } con.close(); }catch(Exceptionex){ ex.printStackTrace(); }returnrows; }publicString[][]queryStudents_score_all(intt){ String[][]rows=null;try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="selectcount(*)fromstu_pro"; ResultSetrs=cmd.executeQuery(sql); rs.next();introwcount=rs.getInt(1); rows=newString[rowcount][12];switch(t){case0:sql="select*fromstu_proorderbysnoasc";break;case1:sql="select*fromstu_proorderbyno_testasc";break;case2:sql="select*fromstu_proorderbyno_synasc";break; } rs=cmd.executeQuery(sql); rowcount=0;while(rs.next()){ rows[rowcount][0]=rs.getString(1); rows[rowcount][1]=rs.getString(2);for(inti=6;i<=15;i++) rows[rowcount][i-4]=rs.getString(i); rowcount++; } con.close(); }catch(Exceptionex){ ex.printStackTrace(); }returnrows; }publicString[]queryStudents_score_one(Stringsno){ String[]rows=null;try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="select*fromstu_prowheresno='"+sno+"'"; ResultSetrs=cmd.executeQuery(sql); rs.next(); rows=newString[12]; rows[0]=rs.getString(1); rows[1]=rs.getString(2);for(inti=6;i<=15;i++) rows[i-4]=rs.getString(i); con.close(); }catch(Exceptionex){ ex.printStackTrace(); }returnrows; }publicString[]queryStudents_info_one(Stringsno){ String[]rows=null;try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="select*fromstu_prowheresno='"+sno+"'"; ResultSetrs=cmd.executeQuery(sql); rs.next(); rows=newString[5];for(inti=1;i<=5;i++) rows[i-1]=rs.getString(i); con.close(); }catch(Exceptionex){ ex.printStackTrace(); }returnrows; } publicbooleanisExist(Stringsno){intflag=0;try{ Class.forName(driver); Connectioncon=DriverManager.getConnection(url); Statementcmd=con.createStatement(); Stringsql="selectcount(sno)fromstu_prowheresno='"+sno+"'"; ResultSetrs=cmd.executeQuery(sql); rs.next(); flag=rs.getInt(1); con.close(); }catch(Exceptionex){ ex.printStackTrace(); }if(flag==1)returntrue;elsereturnfalse; }}packageproject;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassAddStudentFrm_infoextendsJFrameimplementsActionListener{ StudentDaostudentDao=newStudentDao(); JButtonbtn_add=newJButton("確定"); JButtonbtn_del=newJButton("取消"); JLabellb_sno=newJLabel("學(xué)號"); JLabellb_sname=newJLabel("姓名"); JLabellb_sex=newJLabel("性別"); JLabellb_add=newJLabel("家庭地址"); JLabellb_tel=newJLabel("聯(lián)系"); JTextFieldtxt_sno=newJTextField(); JTextFieldtxt_sname=newJTextField();JComboBoxcmb_sex=newJComboBox(); JTextFieldtxt_add=newJTextField(); JTextFieldtxt_tel=newJTextField();publicAddStudentFrm_info(){ JPaneljp=(JPanel)this.getContentPane(); JPaneljp1=newJPanel(); jp1.setLayout(newGridLayout(6,2,5,10)); jp1.add(lb_sno); jp1.add(txt_sno); jp1.add(lb_sname); jp1.add(txt_sname); jp1.add(lb_sex); jp1.add(cmb_sex);cmb_sex.addItem("男");cmb_sex.addItem("女"); jp1.add(lb_add); jp1.add(txt_add); jp1.add(lb_tel); jp1.add(txt_tel); jp1.add(btn_add); jp1.add(btn_del); jp.add(jp1,BorderLayout.NORTH);btn_add.addActionListener(this);btn_del.addActionListener(this);this.setSize(400,260);this.setVisible(true);this.setTitle("添加學(xué)生信息"); }publicvoidactionPerformed(ActionEvente){if(e.getSource()==btn_add){if(studentDao.isExist(txt_sno.getText())){ JOptionPane.showMessageDialog(this,"Worning:學(xué)號為"+txt_sno.getText()+"記錄已經(jīng)存在!"); dispose(); }elseif(studentDao.addStudent_info(txt_sno.getText(),txt_sname.getText(),cmb_sex.getSelectedItem().toString(),txt_add.getText(),txt_tel.getText())) JOptionPane.showMessageDialog(this,"學(xué)號為"+txt_sno.getText()+"記錄添加成功!");elseJOptionPane.showMessageDialog(this,"Worning:學(xué)號為"+txt_sno.getText()+"記錄已經(jīng)存在請選擇修改!"); dispose(); }if(e.getSource()==btn_del){ dispose(); } }publicstaticvoidmain(String[]args){newAddStudentFrm_info(); }}packageproject;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassAddStudentFrm_scoreextendsJFrameimplementsActionListener{ StudentDaostudentDao=newStudentDao(); JButtonbtn_add=newJButton("確定"); JButtonbtn_del=newJButton("取消"); JLabellb_sno=newJLabel("學(xué)號"); JLabellb_sname=newJLabel("姓名"); JLabellb_math=newJLabel("高等數(shù)學(xué)"); JLabellb_physics=newJLabel("物理"); JLabellb_english=newJLabel("英語"); JLabellb_score_tog=newJLabel("同學(xué)互評分"); JLabellb_score_pol=newJLabel("品德成績"); JLabellb_score_tea=newJLabel("任課教師評分"); JTextFieldtxt_sno=newJTextField(); JTextFieldtxt_sname=newJTextField(); JTextFieldtxt_math=newJTextField(); JTextFieldtxt_physics=newJTextField(); JTextFieldtxt_english=newJTextField(); JTextFieldtxt_score_tog=newJTextField(); JTextFieldtxt_score_pol=newJTextField(); JTextFieldtxt_score_tea=newJTextField();publicAddStudentFrm_score(){ JPaneljp=(JPanel)this.getContentPane(); JPaneljp1=newJPanel(); jp1.setLayout(newGridLayout(8,2,5,10)); jp1.add(lb_sno); jp1.add(txt_sno); jp1.add(lb_math); jp1.add(txt_math); jp1.add(lb_physics); jp1.add(txt_physics); jp1.add(lb_english); jp1.add(txt_english); jp1.add(lb_score_tog); jp1.add(txt_score_tog); jp1.add(lb_score_pol); jp1.add(txt_score_pol); jp1.add(lb_score_tea); jp1.add(txt_score_tea); jp1.add(btn_add); jp1.add(btn_del); jp.add(jp1,BorderLayout.NORTH);btn_add.addActionListener(this);btn_del.addActionListener(this);this.setSize(400,340);this.setVisible(true);this.setTitle("添加學(xué)生成績"); }publicvoidactionPerformed(ActionEvente){if(e.getSource()==btn_add){doublescore_ave,score_syn; score_ave=(Double.valueOf(txt_math.getText())+Double.valueOf(txt_physics.getText())+Double.valueOf(txt_english.getText()))/3; score_syn=score_ave*0.6+Double.valueOf(txt_score_tog.getText())*0.1+Double.valueOf(txt_score_pol.getText())*0.1+Double.valueOf(txt_score_tea.getText())*0.2;inttemp=studentDao.addStudent_score(txt_sno.getText(),Double.valueOf(txt_math.getText()),Double.valueOf(txt_physics.getText()),Double.valueOf(txt_english.getText()), score_ave,Double.valueOf(txt_score_tog.getText()),Double.valueOf(txt_score_pol.getText()),Double.valueOf(txt_score_tea.getText()),score_syn);switch(temp){case3:JOptionPane.showMessageDialog(this,"學(xué)號為"+txt_sno.getText()+"記錄添加成功!");break;case2:JOptionPane.showMessageDialog(this,"Worning:學(xué)號為"+txt_sno.getText()+"記錄已經(jīng)存在,請選擇修改!");break;case1:JOptionPane.showMessageDialog(this,"學(xué)號為"+txt_sno.getText()+"的根本信息不完整,請?zhí)顚懲暾笤龠M行添加!");break;case0:JOptionPane.showMessageDialog(this,"學(xué)號為"+txt_sno.getText()+"的記錄不存在!");break; } dispose(); }if(e.getSource()==btn_del){ dispose(); } }publicstaticvoidmain(String[]args){newAddStudentFrm_score(); }}packageproject;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassDeleteStudentFrm_infoextendsJFrameimplementsActionListener{ StudentDaostudentDao=newStudentDao(); JButtonbtn_add=newJButton("確定"); JButtonbtn_del=newJButton("取消"); JLabellb_sno=newJLabel("學(xué)號"); JLabellb_sname=newJLabel("姓名"); JLabellb_sex=newJLabel("性別"); JLabellb_add=newJLabel("家庭地址"); JLabellb_tel=newJLabel("聯(lián)系"); JTextFieldtxt_sno=newJTextField(); JTextFieldtxt_sname=newJTextField(); JTextFieldtxt_sex=newJTextField(); JTextFieldtxt_add=newJTextField(); JTextFieldtxt_tel=newJTextField();publicDeleteStudentFrm_info(Stringsno){ String[]temp=studentDao.queryStudents_info_one(sno);txt_sno.setText(temp[0]);txt_sname.setText(temp[1]);txt_sex.setText(temp[2]);txt_add.setText(temp[3]);txt_tel.setText(temp[4]); JPaneljp=(JPanel)this.getContentPane(); JPaneljp1=newJPanel(); jp1.setLayout(newGridLayout(6,2,5,10)); jp1.add(lb_sno); jp1.add(txt_sno); jp1.add(lb_sname); jp1.add(txt_sname); jp1.add(lb_sex); jp1.add(txt_sex); jp1.add(lb_add); jp1.add(txt_add); jp1.add(lb_tel); jp1.add(txt_tel); jp1.add(btn_add); jp1.add(btn_del); jp.add(jp1,BorderLayout.NORTH);btn_add.addActionListener(this);btn_del.addActionListener(this);this.setSize(400,260);this.setVisible(true);this.setTitle("刪除學(xué)生信息"); }publicvoidactionPerformed(ActionEvente){if(e.getSource()==btn_add){studentDao.deleteStudent_sno(txt_sno.getText()); JOptionPane.showMessageDialog(this,"學(xué)號為"+txt_sno.getText()+"的記錄刪除成功!"); dispose(); }if(e.getSource()==btn_del){ dispose(); } }}packageproject;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassDispStudentFrm_infoextendsJFrameimplementsActionListener{ StudentDaostudentDao=newStudentDao(); JButtonbtn_add=newJButton("關(guān)閉窗口"); JLabellb_sno=newJLabel("學(xué)號"); JLabellb_sname=newJLabel("姓名"); JLabellb_sex=newJLabel("性別"); JLabellb_add=newJLabel("家庭地址"); JLabellb_tel=newJLabel("聯(lián)系"); JTextFieldtxt_sno=newJTextField(); JTextFieldtxt_sname=newJTextField(); JTextFieldtxt_sex=newJTextField(); JTextFieldtxt_add=newJTextField(); JTextFieldtxt_tel=newJTextField();publicDispStudentFrm_info(Stringsno){ String[]temp=studentDao.queryStudents_info_one(sno);txt_sno.setText(temp[0]);txt_sname.setText(temp[1]);txt_sex.setText(temp[2]);txt_add.setText(temp[3]);txt_tel.setText(temp[4]); JPaneljp=(JPanel)this.getContentPane(); JPaneljp1=newJPanel(); JPaneljp2=newJPanel(); jp1.setLayout(newGridLayout(5,2,5,10)); jp1.add(lb_sno); jp1.add(txt_sno); jp1.add(lb_sname); jp1.add(txt_sname); jp1.add(lb_sex); jp1.add(txt_sex); jp1.add(lb_add); jp1.add(txt_add); jp1.add(lb_tel); jp1.add(txt_tel); jp2.add(btn_add); jp.add(jp1,BorderLayout.NORTH); jp.add(jp2,BorderLayout.SOUTH);btn_add.addActionListener(this);this.setSize(400,260);this.setVisible(true);this.setTitle("查詢學(xué)生信息"); }publicvoidactionPerformed(ActionEvente){if(e.getSource()==btn_add){ dispose(); } }}packageproject;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassDispStudentFrm_scoreextendsJFrameimplementsActionListener{ StudentDaostudentDao=newStudentDao(); JButtonbtn_add=newJButton("關(guān)閉窗口"); JLabellb_sno=newJLabel("學(xué)號"); JLabellb_sname=newJLabel("姓名"); JLabellb_math=newJLabel("高等數(shù)學(xué)"); JLabellb_physics=newJLabel("物理"); JLabellb_english=newJLabel("英語"); JLabellb_score_ave=newJLabel("三科平均分"); JLabellb_no_test=newJLabel("三科考試名次"); JLabellb_score_tog=newJLabel("同學(xué)互評分"); JLabellb_score_pol=newJLabel("品德成績"); JLabellb_score_tea=newJLabel("任課教師評分"); JLabellb_score_syn=newJLabel("綜合測試總分"); JLabellb_no_syn=newJLabel("綜合測試名次"); JTextFieldtxt_sno=newJTextField(); JTextFieldtxt_sname=newJTextField(); JTextFieldtxt_math=newJTextField(); JTextFieldtxt_physics=newJTextField(); JTextFieldtxt_english=newJTextField(); JTextFieldtxt_score_ave=newJTextField(); JTextFieldtxt_no_test=newJTextField(); JTextFieldtxt_score_tog=newJTextField(); JTextFieldtxt_score_pol=newJTextField(); JTextFieldtxt_score_tea=newJTextField(); JTextFieldtxt_score_syn=newJTextField(); JTextFieldtxt_no_syn=newJTextField();publicDispStudentFrm_score(Stringsno){ String[]temp=studentDao.queryStudents_score_one(sno);txt_sno.setText(temp[0]);t

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論