基于Java及SQL數(shù)據(jù)庫技術(shù)的學(xué)生成績(jī)管理系統(tǒng)學(xué)籍管理系統(tǒng)_第1頁
基于Java及SQL數(shù)據(jù)庫技術(shù)的學(xué)生成績(jī)管理系統(tǒng)學(xué)籍管理系統(tǒng)_第2頁
基于Java及SQL數(shù)據(jù)庫技術(shù)的學(xué)生成績(jī)管理系統(tǒng)學(xué)籍管理系統(tǒng)_第3頁
基于Java及SQL數(shù)據(jù)庫技術(shù)的學(xué)生成績(jī)管理系統(tǒng)學(xué)籍管理系統(tǒng)_第4頁
基于Java及SQL數(shù)據(jù)庫技術(shù)的學(xué)生成績(jī)管理系統(tǒng)學(xué)籍管理系統(tǒng)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-PAGE . z. - .- -可修編- -目 錄設(shè)計(jì)總說明 II1. 課程設(shè)計(jì)目的與需求分析 3 1.1 課程設(shè)計(jì)目的 3 1.2 需求分析 32. 設(shè)計(jì)思路與主功能設(shè)計(jì) 4 2.1 設(shè)計(jì)思路 4 開發(fā)環(huán)境和軟件 4 數(shù)據(jù)庫表結(jié)構(gòu) 4 程序設(shè)計(jì)圖 4 2.2 功能設(shè)計(jì)與介紹 53. 具體功能的介紹和數(shù)據(jù)測(cè)試 53.1 登錄界面 53.2 主功能界面 7 查詢 7 添加 9 修改 10 刪除 12 關(guān)于 13 退出 134. 課程設(shè)計(jì)總結(jié) 145. 附錄(程度代碼) 15設(shè)計(jì)總說明設(shè)計(jì)概況 名稱:學(xué)生學(xué)籍管理系統(tǒng) 用途:學(xué)校等機(jī)構(gòu) 功能:實(shí)現(xiàn)對(duì)學(xué)生學(xué)籍信息的管理與維護(hù)等功能設(shè)計(jì)說明學(xué)生學(xué)籍管

2、理系統(tǒng),可用于學(xué)校等機(jī)構(gòu)的學(xué)生信息管理,查詢,更新與維護(hù),使用方便,易用性強(qiáng),圖形界面清晰明了。該軟件用java語言編寫,用SQLServer2005數(shù)據(jù)庫作為后臺(tái)的數(shù)據(jù)庫進(jìn)行信息的存儲(chǔ),用SQL語句完成添加,查詢,修改,刪除的操作。用ODBC驅(qū)動(dòng)實(shí)現(xiàn)前臺(tái)Java與后臺(tái)SQL數(shù)據(jù)庫的連接。Java語言跨平臺(tái)性強(qiáng),可以在windows,linu*,ubuntu等系統(tǒng)下使用,方便簡(jiǎn)單,安全性好。SQLServer2005數(shù)據(jù)庫高效安全,兩者結(jié)合可相互利用各自的優(yōu)勢(shì)。系統(tǒng)可供輸入的屬性有*”,”,性別”,班級(jí)”,學(xué)院”,籍貫”。該系統(tǒng)實(shí)現(xiàn)的大致功能:管理員登陸界面。該界面可以輸入管理員號(hào),登陸密碼。

3、用戶通過驗(yàn)證通過后方可進(jìn)入管理系統(tǒng)。一定程度上保證了信息安全性,防止他人未經(jīng)允許篡改學(xué)生信息。查詢學(xué)生信息??梢赃x擇由用戶選擇顯示系統(tǒng)中當(dāng)前的所有學(xué)生信息”。也可以選擇按照*一個(gè)*查詢?cè)?的學(xué)生信息”。查詢到的信息會(huì)在窗口中依次顯示出來。添加學(xué)生信息??梢园凑?qǐng)D形的界面的顯示依次輸入新學(xué)生的*”,”,性別”,班級(jí)”,學(xué)院”,籍貫”。完成新紀(jì)錄的添加。修改學(xué)生信息??梢赃x擇按照*”或者”找到該學(xué)生的學(xué)生信息并輸入要修改的屬性,并輸入新的數(shù)據(jù)。完成對(duì)學(xué)生記錄的修改。刪除學(xué)生記錄??梢愿鶕?jù)輸入的*”或者”進(jìn)行刪除的操作。3本系統(tǒng)只實(shí)現(xiàn)了基本操作功能,對(duì)于添加管理員,修改登錄密碼和數(shù)據(jù)庫信息備份等功能

4、并未提供,便利性和安全性仍有不足,使用過程中造成的不便還請(qǐng)諒解!-. z.學(xué)生學(xué)籍管理系統(tǒng)信管1081班,4,吳曉陽 信管1081班,4,秀麗指導(dǎo)教師:亮課程設(shè)計(jì)目的與需求分析1.1 課程設(shè)計(jì)目的本課程設(shè)計(jì)作為Java語言高級(jí)程序設(shè)計(jì)課程的延伸,在學(xué)生完成了Java語言高級(jí)程序設(shè)計(jì)課程的理論知識(shí)學(xué)習(xí)后,希望通過本次課程設(shè)計(jì)的實(shí)踐操作,能夠讓學(xué)生懂得Java的各種相關(guān)知識(shí)的使用,真正的提高學(xué)生獨(dú)立開發(fā)設(shè)計(jì)Java程序,把課堂上的知識(shí)運(yùn)用在實(shí)踐上,一門編程語言只有在不斷實(shí)踐操作和練習(xí)上才會(huì)有進(jìn)步。1.2需求分析在一些學(xué)校等機(jī)構(gòu),隨著學(xué)生數(shù)量的不斷增加,學(xué)生的信息不斷增多,人工管理信息的難度也越來越

5、大。而且效率也是很低的。所以如何自動(dòng)高效地管理信息是這些年來許多人所研究的。隨著這些年電腦計(jì)算機(jī)的速度質(zhì)的提高,成本的下降,IT互聯(lián)網(wǎng)大眾趨勢(shì)的發(fā)展。我們使用電腦的高效率才處理數(shù)據(jù)信息成為可能。 學(xué)生學(xué)籍管理系統(tǒng)的出現(xiàn),正是管理人員與信息數(shù)據(jù),計(jì)算機(jī)的進(jìn)入互動(dòng)時(shí)代的體現(xiàn)。友好的人機(jī)交互模式,清晰簡(jiǎn)明的圖形界面,高效安全的操作使得我們對(duì)成千上萬的信息的管理得心應(yīng)手。學(xué)生學(xué)籍管理系統(tǒng),以SQL數(shù)據(jù)庫作為后臺(tái)信息存儲(chǔ),Java作為前臺(tái)系統(tǒng)的語言。提供了對(duì)學(xué)生信息添加,查詢,修改,刪除的功能。實(shí)現(xiàn)了最基本的信息管理。2 設(shè)計(jì)思路與主功能設(shè)計(jì)2.1 設(shè)計(jì)思路開發(fā)環(huán)境和軟件本學(xué)籍采用Java語言編寫前臺(tái)程

6、序,后臺(tái)采用SQL Server2005軟件管理數(shù)據(jù)庫,調(diào)試和運(yùn)行皆由Eclipse SDK完成。SQL數(shù)據(jù)庫表結(jié)構(gòu)2.1.3 程序設(shè)計(jì)圖刪除修改添加查詢登錄退出失敗成功登錄驗(yàn)證學(xué)生學(xué)籍管理系統(tǒng)2.2 功能設(shè)計(jì)與介紹顯示已有學(xué)生信息添加新的學(xué)生信息修改已有學(xué)生信息刪除已有學(xué)生信息關(guān)于學(xué)籍管理系統(tǒng)退出學(xué)籍管理系統(tǒng)具體功能的介紹和數(shù)據(jù)測(cè)試 登錄界面登錄界面輸入管理員號(hào)”和登錄密碼”,點(diǎn)擊確定”,通過驗(yàn)證則進(jìn)入主功能菜單。如果輸入錯(cuò)誤則會(huì)有相應(yīng)的警告! 1.當(dāng)輸入了一個(gè)未存在的管理員號(hào)時(shí),會(huì)出現(xiàn)下圖!2當(dāng)輸入一個(gè)錯(cuò)誤的密碼時(shí),會(huì)出現(xiàn)下圖!當(dāng)前系統(tǒng)有兩個(gè)管理員賬號(hào): 管理員號(hào):4 密碼:123456

7、管理員號(hào):4 密碼:123456主功能界面 查詢點(diǎn)擊 , 則彈出下面的選擇菜單。 1) 選擇顯示所有學(xué)生記錄”時(shí),在控制臺(tái)會(huì)顯示當(dāng)前系統(tǒng)中所有的學(xué)生記錄 2) 選擇查詢*個(gè)學(xué)生記錄”時(shí),會(huì)彈出一下窗口要求用戶輸入*”。 當(dāng)系統(tǒng)中有要查詢的*記錄時(shí),系統(tǒng)會(huì)顯示查詢到的詳細(xì)信息。 如果沒有查詢到,則顯示: 添加點(diǎn)擊 ,會(huì)彈出輸入框,如下圖:在各個(gè)數(shù)據(jù)框中輸入對(duì)應(yīng)的信息(*不能為空,且*不能與已存在的記錄重復(fù)),如果輸入的新紀(jì)錄的*已經(jīng)存在則: 如果添加的新紀(jì)錄*為空,則 如果輸入的各項(xiàng)數(shù)據(jù)正常時(shí),則點(diǎn)擊添加”按鈕后,學(xué)生記錄添加成功! 修改點(diǎn)擊,進(jìn)行修改”的操作,彈出下面的選擇菜單。1)選擇按*”

8、修改:將相應(yīng)的數(shù)據(jù)填入輸入框中,如果修改的記錄不存在,則提示:如果數(shù)據(jù)正確且記錄存在,則顯示記錄修改成功:2) 按”修改,同上.-. z. 刪除點(diǎn)擊,會(huì)顯示下面的菜單。選擇按*”刪除,出現(xiàn)以下窗口。在彈出的窗口輸入你要?jiǎng)h除的記錄的*。如果要?jiǎng)h除的記錄不存在,則顯示 如果輸入的的*存在,則刪除成功。 關(guān)于 點(diǎn)擊,顯示本學(xué)生管理系統(tǒng)的作者相關(guān)信息。 退出點(diǎn)擊 ,退出本學(xué)籍管理系統(tǒng)。-. z.4 課程設(shè)計(jì)總結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程. 本次課程設(shè)計(jì)雖然很辛苦,實(shí)在是受益匪淺。本來這門課的知識(shí)學(xué)

9、的就不夠扎實(shí),本次課程設(shè)計(jì),在設(shè)計(jì)過程中碰到了很多問題,剛開始要設(shè)計(jì)的時(shí)候,還真不知道從哪里下手但最終在圖書、同學(xué)和老師的幫助下都得到了解決,讓我學(xué)會(huì)了好多書本上沒有的東西,通過本次課程設(shè)計(jì)我也能將課本上的知識(shí)融會(huì)貫通,起到了很好的輔助學(xué)習(xí)的效果,但是我發(fā)現(xiàn)我學(xué)到的知識(shí)比整整一個(gè)學(xué)期學(xué)到的都多。理論和實(shí)踐的相結(jié)合是學(xué)習(xí)最有效的方法。在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中

10、得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。-. z.附錄(程序代碼)import java*.swing.*;import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;class DataBase / DataBase類public void Add(String *h,String

11、 *m,String *b,String *y,String bj,String jg) throws SQLE*ception try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.e*ecuteQuer

12、y(select * from 學(xué)籍管理系統(tǒng)where *=+*h+); r.last(); if(r.getRow()=1) JOptionPane.showMessageDialog( null ,該*的學(xué)生信息已存在); else if(*h.equals() JOptionPane.showMessageDialog( null ,*不能為空); else s.e*ecuteUpdate( insert into 學(xué)籍管理系統(tǒng) values (+*h+,+*m+,+*b+,+ *y+,+bj+,+jg+); s.close(); c.close();JOptionPane.showMe

13、ssageDialog( null ,+*:+*h+ +:+*m+ +性別:+*b+學(xué)院:+*y+班級(jí):+bj+籍貫:+jg+ 學(xué)生記錄添加成功! ) ; catch(E*ception e) JOptionPane.showMessageDialog( null , 數(shù)據(jù)添加異常! ) ; Public void DisplayAll(ResultSet r) try r.last(); System.out.println(數(shù)據(jù)庫表共有+r.getRow()+行記錄); r.beforeFirst(); while(r.ne*t() System.out.print(第+r.getRow(

14、)+行記錄:); System.out.print( *為:+r.getString(*); System.out.print( 為:+r.getString(); System.out.print( 性別為:+r.getString(性別); System.out.print( 學(xué)院為:+r.getString(學(xué)院); System.out.print( 班級(jí)為:+r.getString(班級(jí)); System.out.println( 籍貫為:+r.getString(籍貫); catch(E*ception e) public void DisplayOne(String str22)

15、 throws E*ception try Connectionc=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSet r=s.e*ecuteQuery(select * from 學(xué)籍管理系統(tǒng) where *=+str22+); r.last(); int cc=r.getRow(); if(cc=0) JOptionPane.sh

16、owMessageDialog( null ,未查詢到相關(guān)信息! ) ; elser.beforeFirst(); while(r.ne*JOptionPane.showMessageDialog( null ,+*:+r.getString(*)+ +:+r.getString()+ +性別:+r.getString(性別)+ +學(xué)院:+r.getString(學(xué)院)+ +班級(jí):+r.getString(班級(jí))+ +籍貫:+r.getString(籍貫)+ 已查詢到相關(guān)記錄! ) ; catch(E*ception e) public void Delete*h(String str11)

17、try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.e*ecuteQuery(select * from 學(xué)籍管理系統(tǒng) where *=+str11+); r.last(); if(r.getRow()

18、=1) s.e*ecuteUpdate(delete from 學(xué)籍管理系統(tǒng) where *=+str11+); JOptionPane.showMessageDialog( null , 學(xué)生記錄刪除成功! ) ; else JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ); catch(E*ception e) public void Delete*m(String str13) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection c=DriverManager.getC

19、onnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSet r=s.e*ecuteQuery(select * from 學(xué)籍管理系統(tǒng) where =+str13+); r.last(); if(r.getRow()=1) s.e*ecuteUpdate(delete from 學(xué)籍管理系統(tǒng) where =+str13+); JOptionPane.showMessageDia

20、log( null , 學(xué)生記錄刪除成功! ) ; else JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; catch(E*ception e) public void Update*h(String *g,String str15,String str16) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createS

21、tatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.e*ecuteQuery(select * from 學(xué)籍管理系統(tǒng) where *=+*g+); r.last(); if(r.getRow()=1) s.e*ecuteUpdate(update 學(xué)籍管理系統(tǒng) set +str15+=+str16+ where *=+*g+); JOptionPane.showMessageDialog( null , 學(xué)生記錄修改成功! ) ; elseJOptionPane.showM

22、essageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; ; catch(E*ception e) JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; public void Update*m(String str18,String str19,String str20) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase);Statement s

23、=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.e*ecuteQuery(select * from 學(xué)籍管理系統(tǒng) where =+str18+); r.last(); if(r.getRow()=1) s.e*ecuteUpdate(update 學(xué)籍管理系統(tǒng) set +str19+=+str20+ where =+str18+); /直接執(zhí)行SQL語句修改 JOptionPane.showMessageDialog( null , 學(xué)生記錄修改成功

24、! ) ; elseJOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; ; catch(E*ception e) JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; class J_ActionListener1 e*tends JFrame implements ActionListener /創(chuàng)建J_ActionListener1類監(jiān)聽功能選項(xiàng)面板顯示已有學(xué)生信息的按鈕 public void actionPerformed(ActionEvent e) utton b1=(ut

25、ton)e.getSource();Object aa= JOptionPane.showInputDialog(null, 請(qǐng)選擇按何種方式查詢,選擇, JOptionPane.QUESTION_MESSAGE,null, new String 顯示所有學(xué)生記錄,查詢*個(gè)學(xué)生記錄,顯示所有學(xué)生記錄);if(aa=顯示所有學(xué)生記錄) try Connection c = DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENS

26、ITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.e*ecuteQuery(select * from 學(xué)籍管理系統(tǒng)); DataBase a =new DataBase(); DisplayAll(r); catch (SQLE*ception e1) elsetryConnection c= DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, Result

27、Set.CONCUR_UPDATABLE); DataBase a=new DataBase(); String str11=JOptionPane.showInputDialog(請(qǐng)輸入要查詢的記錄的*); a.DisplayOne(str11); catch (E*ception e1) class J_ActionListener2 e*tends JFrame implements ActionListener Public void actionPerformed(ActionEvent e) utton b2=(utton)e.getSource(); try new J_Acti

28、onListener6(); catch (E*ception e2) Class J_ActionListener6 e*tends J_ActionListener2 implements ActionListener DataBase a = new DataBase(); JTe*tField jtf1 = new JTe*tField(); JTe*tField jtf2 = new JTe*tField() ; JTe*tField jtf3 = new JTe*tField() ; JTe*tField jtf4 = new JTe*tField() ; JTe*tField j

29、tf5 = new JTe*tField() ; JTe*tField jtf6 = new JTe*tField() ; utton btn = null ; J_ActionListener6() this.setTitle(請(qǐng)輸入數(shù)據(jù):) ; /創(chuàng)建框架的標(biāo)題 this.setBounds(250, 100, 220,320) ; /框架的大小和坐標(biāo) this.setResizable(false); this.setVisible(true); this.setLayout(null) ; JLabel jlb1 = new JLabel(*:) ; /創(chuàng)建*的標(biāo)簽 jlb1.setB

30、ounds(43,23,100,25) ; this.add(jlb1) ; JLabel jlb2 = new JLabel(:) ; jlb2.setBounds(43,58,100,25) ; this.add(jlb2) ; JLabel jlb3 = new JLabel(性別:) ; jlb3.setBounds(43,93,100,25) ; this.add(jlb3) ; JLabel jlb4 = new JLabel(學(xué)院:) ; jlb4.setBounds(43,128,100,25) ; this.add(jlb4) ; JLabel jlb5 = new JLab

31、el(班級(jí):) ; jlb5.setBounds(43,163,100,25) ; this.add(jlb5) ; JLabel jlb6 = new JLabel(籍貫:) ; jlb6.setBounds(43,198,100,25) ; this.add(jlb6) ; jtf1.setBounds(80,25,100,25) ; this.add(jtf1) ; jtf2.setBounds(80,60,100,25) ; this.add(jtf2) ; jtf3.setBounds(80,95,100,25) ; this.add(jtf3) ; jtf4.setBounds(8

32、0,130,100,25) ; this.add(jtf4) ; jtf5.setBounds(80,165,100,25) ; this.add(jtf5) ; jtf6.setBounds(80,200,100,25) ; this.add(jtf6) ; btn = new utton(添加) ; btn.setBounds(68,245,80,30) ; /設(shè)置按鈕的大小和位置 this.add(btn) ; /將按鈕添加進(jìn)面板里btn.addActionListener(this) ; (Jponent) this.getContentPane().setOpaque(false);

33、 .URL url = JavaSql.class.getResource(背景1.jpg);ImageIcon img = new ImageIcon(url); JLabel background = new JLabel(img); this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE);background.setBounds(0,0,img.getIconWidth(),img.getIconHeight();public void actionPerformed(ActionEvent e) utto

34、n btn=(utton)e.getSource(); String *h = jtf1.getTe*t() ; String *m = jtf2.getTe*t() ; String *b = jtf3.getTe*t() ; String *y = jtf4.getTe*t() ; String bj = jtf5.getTe*t() ; String jg = jtf6.getTe*t() ; try a.Add(*h,*m,*b,*y,bj,jg); this.setVisible(false); catch (SQLE*ception e1) class J_ActionListen

35、er3 e*tends JFrame implements ActionListener /創(chuàng)建J_ActionListener3監(jiān)聽功能面板”修改已有學(xué)生信息的按鈕 final DataBase a=new DataBase(); JFrame *iugai=new JFrame(); String b=null; public void jiemian() /在J_ActionListener3類里添加jiemian()方法,創(chuàng)建按*修改數(shù)據(jù)的界面 this.setTitle(請(qǐng)輸入數(shù)據(jù):) ; this.setSize(230,320) ; this.setLocation(200,13

36、0); this.setResizable(false); this.setVisible(true); JLabel jlb1 = new JLabel(請(qǐng)輸入要修改的學(xué)生的+b) ; /設(shè)置3個(gè)標(biāo)簽 JLabel jlb2 = new JLabel(請(qǐng)輸入要修改的屬性) ; JLabel jlb3 = new JLabel(請(qǐng)輸入新的數(shù)據(jù)) ; final JTe*tField jtf1 = new JTe*tField() ; /設(shè)置三個(gè)文本框 final JTe*tField jtf2 = new JTe*tField() ; final JTe*tField jtf3 = new J

37、Te*tField() ; utton *g=new utton(修改); /創(chuàng)建”修改按鈕 Container c=getContentPane();c.setLayout(null);jlb1.setBounds(20,15,170,30);c.add(jlb1);jlb2.setBounds(20,80,170,30);c.add(jlb2);jlb3.setBounds(20,145,170,30);c.add(jlb3);jtf1.setBounds(20,45,170,30);c.add(jtf1);jtf2.setBounds(20,110,170,30);c.add(jtf2)

38、;jtf3.setBounds(20,180,170,30);c.add(jtf3);*g.setBounds(80,230,60,35); c.add(*g);*g.addActionListener(new ActionListener() /為”修改按鈕添加事件觸發(fā) public void actionPerformed( ActionEvent e) / 當(dāng)修改的按鈕被點(diǎn)擊時(shí)執(zhí)行 utton *g=(utton)e.getSource(); String *uehao=jtf1.getTe*t(); /獲取文本框的數(shù)據(jù) String shu*in=jtf2.getTe*t(); Str

39、ing *inshuju=jtf3.getTe*t(); a.Update*h(*uehao,shu*in,*inshuju); setVisible(false); );(Jponent) this.getContentPane().setOpaque(false); /設(shè)置背景圖片 .URL url = JavaSql.class.getResource(背景2.jpg);ImageIcon img = new ImageIcon(url); JLabel background = new JLabel(img); this.getLayeredPane().add(background,

40、 new Integer(Integer.MIN_VALUE);background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight(); public void jiemian2() /在J_ActionListener3類里添加jiemian2()方法,創(chuàng)建按修改數(shù)據(jù)的界面 this.setTitle(請(qǐng)輸入數(shù)據(jù):) ; this.setSize(230,320) ; this.setLocation(200,130); this.setResizable(false); this.setVisible(true); JLabel

41、 jlb1 = new JLabel(請(qǐng)輸入要修改的學(xué)生的+b) ; /設(shè)置3個(gè)標(biāo)簽 JLabel jlb2 = new JLabel(請(qǐng)輸入要修改的屬性) ; JLabel jlb3 = new JLabel(請(qǐng)輸入新的數(shù)據(jù)) ; final JTe*tField jtf1 = new JTe*tField() ; /設(shè)置三個(gè)文本框 final JTe*tField jtf2 = new JTe*tField() ; final JTe*tField jtf3 = new JTe*tField() ; utton *g=new utton(修改); /創(chuàng)建”修改按鈕 Container c=

42、getContentPane();c.setLayout(null);jlb1.setBounds(20,15,170,30);c.add(jlb1);jlb2.setBounds(20,80,170,30);c.add(jlb2);jlb3.setBounds(20,145,170,30);c.add(jlb3);jtf1.setBounds(20,45,170,30);c.add(jtf1);jtf2.setBounds(20,110,170,30);c.add(jtf2);jtf3.setBounds(20,180,170,30);c.add(jtf3);*g.setBounds(80,

43、230,60,35); c.add(*g);*g.addActionListener(new ActionListener() /為”修改按鈕添加事件觸發(fā) public void actionPerformed( ActionEvent e) / 當(dāng)修改的按鈕被點(diǎn)擊時(shí)執(zhí)行 utton *g=(utton)e.getSource(); String *inming=jtf1.getTe*t(); /獲取文本框的數(shù)據(jù) String shu*in=jtf2.getTe*t(); String *inshuju=jtf3.getTe*t(); a.Update*m(*inming,shu*in,*in

44、shuju); setVisible(false); );(Jponent) this.getContentPane().setOpaque(false); /設(shè)置背景圖片 .URL url = JavaSql.class.getResource(背景2.jpg);ImageIcon img = new ImageIcon(url); JLabel background = new JLabel(img); this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE);background.setBounds(0, 0

45、, img.getIconWidth(), img.getIconHeight(); public void actionPerformed(ActionEvent e) utton b3=(utton)e.getSource(); /當(dāng)主功能選項(xiàng)面板的”修改已有學(xué)生信息的按鈕被點(diǎn)擊時(shí)執(zhí)行 Object aa= JOptionPane.showInputDialog(null, 請(qǐng)選擇按何種方式修改,選擇, /彈出窗口讓用戶選擇按何種方式進(jìn)行修改 JOptionPane.QUESTION_MESSAGE,null, new String *,*); if(aa=*) /當(dāng)用戶選擇按”*修改時(shí)執(zhí)

46、行 b=*; this.jiemian(); if(aa=) /當(dāng)用戶選擇按”修改時(shí)執(zhí)行 b=; this.jiemian2(); class J_ActionListener4 implements ActionListener /創(chuàng)建J_ActionListener2類監(jiān)聽功能選項(xiàng)面板添加新的學(xué)生信息的按鈕 public void actionPerformed(ActionEvent e) utton b4=(utton)e.getSource(); DataBase a=new DataBase(); /實(shí)例化DataBase類 Object aa= JOptionPane.showI

47、nputDialog(null, 請(qǐng)選擇按何種方式刪除,選擇,JOptionPane.QUESTION_MESSAGE, /彈出窗口讓用戶選擇按何種方式進(jìn)行刪除 null,new String *,*); if(aa=*) String str11=JOptionPane.showInputDialog(請(qǐng)輸入要?jiǎng)h除的記錄的*); /當(dāng)用戶選擇按”*刪除時(shí)執(zhí)行 a.Delete*h(str11); /執(zhí)行DataBase類的Delete*h方法 else String str13=JOptionPane.showInputDialog(請(qǐng)輸入要?jiǎng)h除的記錄的); /當(dāng)用戶選擇按”修改時(shí)執(zhí)行 a.

48、Delete*m(str13); /執(zhí)行DataBase類的Delete*m方法 class J_ActionListener5 implements ActionListener /創(chuàng)建J_ActionListener2類監(jiān)聽功能選項(xiàng)面板關(guān)于學(xué)籍管理系統(tǒng)的按鈕 public void actionPerformed(ActionEvent e) /按鈕被點(diǎn)擊執(zhí)行 utton b5=(utton)e.getSource(); JOptionPane.showMessageDialog( null ,*本系統(tǒng)由 吳曉陽 秀麗 制作*n* 日期:2010年12月 * ) ; class JavaS

49、ql e*tends JFrame implements ActionListener /主類JavaSql /添加設(shè)置用戶名和密碼輸入的圖形界面 JFrame denglu=new JFrame(登錄); /創(chuàng)建”登錄的框架 utton quedin = new utton( 確定); /創(chuàng)建”確定按鈕 JLabel t1=new JLabel(管理員號(hào):); /創(chuàng)建標(biāo)簽”管理員號(hào) JTe*tField t2=new JTe*tField(null,15); /創(chuàng)建管理員號(hào)的輸入欄 JLabel t3=new JLabel(登錄密碼:); /創(chuàng)建標(biāo)簽登錄密碼 JTe*tField t4=ne

50、w JPasswordField(null,15); /創(chuàng)建登錄密碼的輸入欄 public void init() /在數(shù)據(jù)庫中創(chuàng)建一”學(xué)籍管理系統(tǒng)表try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement(); s.e*ecuteUpdate(create table 學(xué)籍管理系統(tǒng)( + * char(15) CONSTRAINT authInde* PRI

51、MARY KEY,+ char(10),+ 性別 char(4),+ 學(xué)院 char(8),+ 班級(jí) char(8),+ 籍貫 char(5); s.close(); c.close(); System.out.println(*歡迎使用學(xué)籍管理系統(tǒng)*);catch(E*ception e) /該表已存在 System.out.println(*歡迎使用學(xué)籍管理系統(tǒng)*); public void zhujiemian() /定義jiemian()的方法,創(chuàng)建主功能的圖形界面 Container c=getContentPane(); /設(shè)置主功能界面的按鈕的大小和坐標(biāo)位置c.setLayout

52、(null);utton b1=new utton(顯示已有學(xué)生信息);b1.setBounds(10,10,160,30);utton b2=new utton(添加新的學(xué)生信息);b2.setBounds(10,45,160,30);utton b3=new utton(修改已有學(xué)生信息);b3.setBounds(10,80,160,30);utton b4=new utton(刪除已有學(xué)生信息);b4.setBounds(10,115,160,30);utton b5=new utton(關(guān)于學(xué)籍管理系統(tǒng)); b5.setBounds(10,150,160,30);utton b6=n

53、ew utton(退出學(xué)籍管理系統(tǒng)); b6.setBounds(10,185,163,30);J_ActionListener1 a1=new J_ActionListener1(); / 實(shí)例化各個(gè)按鈕監(jiān)聽的類J_ActionListener2 a2=new J_ActionListener2();J_ActionListener3 a3=new J_ActionListener3();J_ActionListener4 a4=new J_ActionListener4();J_ActionListener5 a5=new J_ActionListener5();b1.addActionL

54、istener(a1); b2.addActionListener(a2);b3.addActionListener(a3);b4.addActionListener(a4);b5.addActionListener(a5);b6.addActionListener(new ActionListener() /為”退出學(xué)籍管理系統(tǒng)的按鈕添加事件監(jiān)聽觸發(fā) public void actionPerformed(final ActionEvent e) System.e*it(0); /該按鈕點(diǎn)擊時(shí),退出學(xué)籍管理系統(tǒng) );c.add(b1); /將按鈕逐個(gè)添加到面板里c.add(b2);c.add(b3);c.add(b4);c.add(b5);c.add(b6);public void denglumenu() denglu.setDefaultCloseOperat

溫馨提示

  • 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. 人人文庫網(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)論