基于Java與SQL數(shù)據(jù)庫(kù)技術(shù)的學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)
基于Java與SQL數(shù)據(jù)庫(kù)技術(shù)的學(xué)生成績(jī)管理系統(tǒng)_第2頁(yè)
基于Java與SQL數(shù)據(jù)庫(kù)技術(shù)的學(xué)生成績(jī)管理系統(tǒng)_第3頁(yè)
基于Java與SQL數(shù)據(jù)庫(kù)技術(shù)的學(xué)生成績(jī)管理系統(tǒng)_第4頁(yè)
基于Java與SQL數(shù)據(jù)庫(kù)技術(shù)的學(xué)生成績(jī)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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ì)總說(shuō)明 -II 1. 課程設(shè)計(jì)目的與需求分析 -3 1.1 課程設(shè)計(jì)目的 -3 1.2 需求分析 -3 2. 設(shè)計(jì)思路與主功能設(shè)計(jì) -4 2.1 設(shè)計(jì)思路 -4 2.1.1 開發(fā)環(huán)境和軟件 -4 2.1.2 數(shù)據(jù)庫(kù)表結(jié)構(gòu) -4 2.1.3 程序設(shè)計(jì)圖 -4 2.2 功能設(shè)計(jì)與介紹 -5 3. 具體功能的介紹和數(shù)據(jù)測(cè)試 -5 3.1 登錄界面 -5 3.2 主功能界面 -7 3.2.1 查詢 -7 3.2.2 添加 -9 3.2.3 修改 -10 3.2.4 刪除 -12 3.2.5 關(guān)于 -13 3.2.6 退出 -13 4. 課程設(shè)計(jì)總結(jié) -14 5. 附錄(程度代碼) -1

2、5 設(shè)計(jì)總說(shuō)明 1. 設(shè)計(jì)概況 名稱:學(xué)生學(xué)籍管理系統(tǒng) 用途:學(xué)校等機(jī)構(gòu) 功能:實(shí)現(xiàn)對(duì)學(xué)生學(xué)籍信息的管理與維護(hù)等功能 2. 設(shè)計(jì)說(shuō)明 學(xué)生學(xué)籍管理系統(tǒng),可用于學(xué)校等機(jī)構(gòu)的學(xué)生信息管理,查詢,更新與維護(hù),使用方 便,易用性強(qiáng),圖形界面清晰明了。該軟件用 java 語(yǔ)言編寫,用 SQLServer2005 數(shù)據(jù)庫(kù)作 為后臺(tái)的數(shù)據(jù)庫(kù)進(jìn)行信息的存儲(chǔ),用 SQL 語(yǔ)句完成添加,查詢,修改,刪除的操作。用 ODBC 驅(qū)動(dòng)實(shí)現(xiàn)前臺(tái) Java 與后臺(tái) SQL 數(shù)據(jù)庫(kù)的連接。Java 語(yǔ)言跨平臺(tái)性強(qiáng),可以在 windows,linux,ubuntu 等系統(tǒng)下使用,方便簡(jiǎn)單,安全性好。SQLServer2005

3、數(shù)據(jù)庫(kù)高 效安全,兩者結(jié)合可相互利用各自的優(yōu)勢(shì)。系統(tǒng)可供輸入的屬性有“學(xué)號(hào)” , “姓名” , “性 別” , “班級(jí)” , “學(xué)院” , “籍貫” 。 該系統(tǒng)實(shí)現(xiàn)的大致功能: 1管理員登陸界面。該界面可以輸入管理員號(hào),登陸密碼。用戶通過(guò)驗(yàn)證通過(guò)后方可進(jìn)入 管理系統(tǒng)。一定程度上保證了信息安全性,防止他人未經(jīng)允許篡改學(xué)生信息。 2查詢學(xué)生信息。可以選擇由用戶選擇“顯示系統(tǒng)中當(dāng)前的所有學(xué)生信息” 。也可以選擇 按照“某一個(gè)學(xué)號(hào)查詢?cè)搶W(xué)號(hào)的學(xué)生信息” 。查詢到的信息會(huì)在窗口中依次顯示出來(lái)。 3添加學(xué)生信息??梢园凑?qǐng)D形的界面的顯示依次輸入新學(xué)生的“學(xué)號(hào)” , “姓名” , “性別” , “班級(jí)” ,

4、 “學(xué)院” , “籍貫” 。完成新紀(jì)錄的添加。 4修改學(xué)生信息??梢赃x擇按照“學(xué)號(hào)”或者“姓名”找到該學(xué)生的學(xué)生信息并輸入要修 改的屬性,并輸入新的數(shù)據(jù)。完成對(duì)學(xué)生記錄的修改。 5刪除學(xué)生記錄??梢愿鶕?jù)輸入的“學(xué)號(hào)”或者”姓名”進(jìn)行刪除的操作。 3本系統(tǒng)只實(shí)現(xiàn)了基本操作功能, ,對(duì)于添加管理員,修改登錄密碼和數(shù)據(jù)庫(kù)信息備份等功能 并未提供,便利性和安全性仍有不足,使用過(guò)程中造成的不便還請(qǐng)諒解! 學(xué)生學(xué)籍管理系統(tǒng) 信管 1081 班,4,吳曉陽(yáng) 信管 1081 班,4,陳秀麗 指導(dǎo)教師:陳亮 1課程設(shè)計(jì)目的與需求分析 1.1 課程設(shè)計(jì)目的 本課程設(shè)計(jì)作為Java 語(yǔ)言高級(jí)程序設(shè)計(jì)課程的延伸,在學(xué)

5、生完成了Java 語(yǔ)言高級(jí)程序設(shè)計(jì)課程的理論知識(shí)學(xué)習(xí)后,希望通過(guò)本次課程設(shè)計(jì)的實(shí)踐操作,能 夠讓學(xué)生懂得 Java 的各種相關(guān)知識(shí)的使用,真正的提高學(xué)生獨(dú)立開發(fā)設(shè)計(jì) Java 程序, 把課堂上的知識(shí)運(yùn)用在實(shí)踐上,一門編程語(yǔ)言只有在不斷實(shí)踐操作和練習(xí)上才會(huì)有進(jìn) 步。 1.2 需求分析 在一些學(xué)校等機(jī)構(gòu),隨著學(xué)生數(shù)量的不斷增加,學(xué)生的信息不斷增多,人工管理 信息的難度也越來(lái)越大。而且效率也是很低的。所以如何自動(dòng)高效地管理信息是這些 年來(lái)許多人所研究的。 隨著這些年電腦計(jì)算機(jī)的速度質(zhì)的提高,成本的下降,IT 互聯(lián)網(wǎng)大眾趨勢(shì)的發(fā)展。 我們使用電腦的高效率才處理數(shù)據(jù)信息成為可能。 學(xué)生學(xué)籍管理系統(tǒng)的出現(xiàn)

6、,正是管 理人員與信息數(shù)據(jù),計(jì)算機(jī)的進(jìn)入互動(dòng)時(shí)代的體現(xiàn)。友好的人機(jī)交互模式,清晰簡(jiǎn)明 的圖形界面,高效安全的操作使得我們對(duì)成千上萬(wàn)的信息的管理得心應(yīng)手。 學(xué)生學(xué)籍管理系統(tǒng),以 SQL 數(shù)據(jù)庫(kù)作為后臺(tái)信息存儲(chǔ),Java 作為前臺(tái)系統(tǒng)的語(yǔ)言。 提供了對(duì)學(xué)生信息添加,查詢,修改,刪除的功能。實(shí)現(xiàn)了最基本的信息管理。 2 設(shè)計(jì)思路與主功能設(shè)計(jì) 2.1 設(shè)計(jì)思路 2.1.1 開發(fā)環(huán)境和軟件 本學(xué)籍采用Java語(yǔ)言編寫前臺(tái)程序,后臺(tái)采用SQL Server2005軟件管理數(shù)據(jù)庫(kù), 調(diào)試和運(yùn)行皆由Eclipse SDK 3.5.2完成。 2.1.2 SQL 數(shù)據(jù)庫(kù)表結(jié)構(gòu) 2.1.3 程序設(shè)計(jì)圖 學(xué)生學(xué)籍 管

7、理系統(tǒng) 登錄 登錄驗(yàn)證 失敗 成功 退出 查詢 添加 修改 刪除 2.2 功能設(shè)計(jì)與介紹 1) 顯示已有學(xué)生信息 2) 添加新的學(xué)生信息 3) 修改已有學(xué)生信息 4) 刪除已有學(xué)生信息 5) 關(guān)于學(xué)籍管理系統(tǒng) 6) 退出學(xué)籍管理系統(tǒng) 3具體功能的介紹和數(shù)據(jù)測(cè)試 3.1 登錄界面 登錄界面輸入“管理員號(hào)”和“登錄密碼” ,點(diǎn)擊“確定” ,通過(guò)驗(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 密碼: 管理員號(hào):4 密碼: 3.2主功能界面 3.2.1 查詢 點(diǎn)擊

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

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

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

11、結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只 有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己 的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。 附 錄(程序代碼) import javax.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 D

12、ataBase / DataBase 類 public void Add(String xh,String xm,String xb,String xy,String bj,String jg) throws SQLException try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,

13、ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from 學(xué)籍管理系統(tǒng) where 學(xué)號(hào) =+xh+); r.last(); if(r.getRow()=1) JOptionPane.showMessageDialog( null ,該學(xué)號(hào)的學(xué)生信息已存在); else if(xh.equals() JOptionPane.showMessageDialog( null ,學(xué)號(hào)不能為空); else s.executeUpdate( insert into 學(xué)籍管理系統(tǒng) values (+xh+,+xm+,+xb

14、+,+ xy+,+bj+,+jg+); s.close(); c.close(); JOptionPane.showMessageDialog( null ,+學(xué)號(hào):+xh+ +姓名:+xm+ +性別:+xb+ +學(xué)院:+xy+ +班級(jí):+bj+ +籍貫:+jg+ 學(xué)生記錄添加成功! ) ; catch(Exception e) JOptionPane.showMessageDialog( null , 數(shù)據(jù)添加異常! ) ; Public void DisplayAll(ResultSet r) try r.last(); System.out.println(數(shù)據(jù)庫(kù)表共有+r.getRow

15、()+行記錄); r.beforeFirst(); while(r.next() System.out.print(第+r.getRow()+行記錄:); System.out.print( 學(xué)號(hào)為:+r.getString(學(xué)號(hào)); 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( 籍貫

16、為:+r.getString(籍貫); catch(Exception e) public void DisplayOne(String str22) throws Exception try Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from

17、學(xué)籍管理系統(tǒng) where 學(xué)號(hào)=+str22+); r.last(); int cc=r.getRow(); if(cc=0) JOptionPane.showMessageDialog( null ,未查詢到相關(guān)信息! ) ; elser.beforeFirst(); while(r.nex JOptionPane.showMessageDialog( null ,+學(xué)號(hào):+r.getString (學(xué)號(hào))+ +姓名:+r.getString(姓名)+ +性別:+r.getString(性別)+ +學(xué)院:+r.getString(學(xué)院)+ +班級(jí):+r.getString(班級(jí))+ +籍貫:

18、+r.getString(籍貫)+ 已查詢到相關(guān)記錄! ) ; catch(Exception e) public void DeleteXh(String str11) 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); Res

19、ultSet r=s.executeQuery(select * from 學(xué)籍管理系統(tǒng) where 學(xué)號(hào)=+str11+); r.last(); if(r.getRow()=1) s.executeUpdate(delete from 學(xué)籍管理系統(tǒng) where 學(xué)號(hào)=+str11+); JOptionPane.showMessageDialog( null , 學(xué)生記錄刪除成功! ) ; else JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄! ); catch(Exception e) public void DeleteXm(Strin

20、g str13) 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.executeQuery(select * from 學(xué)籍管理系統(tǒng) where 姓名=+str13+); r.last(); if(

21、r.getRow()=1) s.executeUpdate(delete from 學(xué)籍管理系統(tǒng) where 姓名=+str13+); JOptionPane.showMessageDialog( null , 學(xué)生記錄刪除成功! ) ; else JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄! ) ; catch(Exception e) public void UpdateXh(String xg,String str15,String str16) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriv

22、er); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from 學(xué)籍管理系統(tǒng) where 學(xué)號(hào)=+xg+); r.last(); if(r.getRow()=1) s.executeUpdate(update 學(xué)籍管理系統(tǒng) set +str15+=

23、+str16+ where 學(xué)號(hào)=+xg+); JOptionPane.showMessageDialog( null , 學(xué)生記錄修改成功! ) ; else JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄! ) ; ; catch(Exception e) JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄! ) ; public void UpdateXm(String str18,String str19,String str20) try Class.forName(sun.jdbc.od

24、bc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from 學(xué)籍管理系統(tǒng) where 姓名=+str18+); r.last(); if(r.getRow()=1) s.executeUpdate(update 學(xué)

25、籍管理系統(tǒng) set +str19+=+str20+ where 姓名=+str18+); /直接執(zhí)行 SQL 語(yǔ)句修改 JOptionPane.showMessageDialog( null , 學(xué)生記錄修改成功! ) ; else JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄! ) ; ; catch(Exception e) JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄! ) ; class J_ActionListener1 extends JFrame implements Acti

26、onListener /創(chuàng)建 J_ActionListener1 類監(jiān)聽(tīng)功能選項(xiàng)面板顯示已有學(xué)生信息的按鈕 public void actionPerformed(ActionEvent e) JButton b1=(JButton)e.getSource(); Object aa= JOptionPane.showInputDialog(null, 請(qǐng)選擇按何種方式查詢,選 擇, JOptionPane.QUESTION_MESSAGE,null, new String 顯示所有學(xué)生記錄, 查詢某個(gè)學(xué)生記錄,顯示所有學(xué)生記錄); if(aa=顯示所有學(xué)生記錄) try Connection

27、c = DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from 學(xué)籍管理系統(tǒng)); DataBase a =new DataBase(); a. DisplayAll(r); catch (SQLException e1) elsetry Connection c= Drive

28、rManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); DataBase a=new DataBase(); String str11=JOptionPane.showInputDialog(請(qǐng)輸入要查詢的記錄的學(xué)號(hào)); a.DisplayOne(str11); catch (Exception e1) class J_ActionListener2 extends

29、 JFrame implements ActionListener Public void actionPerformed(ActionEvent e) JButton b2=(JButton)e.getSource(); try new J_ActionListener6(); catch (Exception e2) Class J_ActionListener6 extends J_ActionListener2 implements ActionListener DataBase a = new DataBase(); JTextField jtf1 = new JTextField(

30、); JTextField jtf2 = new JTextField() ; JTextField jtf3 = new JTextField() ; JTextField jtf4 = new JTextField() ; JTextField jtf5 = new JTextField() ; JTextField jtf6 = new JTextField() ; JButton btn = null ; J_ActionListener6() this.setTitle(請(qǐng)輸入數(shù)據(jù):) ; /創(chuàng)建框架的標(biāo)題 this.setBounds(250, 100, 220,320) ; /框

31、架的大小和坐 標(biāo) this.setResizable(false); this.setVisible(true); this.setLayout(null) ; JLabel jlb1 = new JLabel(學(xué)號(hào):) ; /創(chuàng)建學(xué)號(hào)的標(biāo)簽 jlb1.setBounds(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,

32、93,100,25) ; this.add(jlb3) ; JLabel jlb4 = new JLabel(學(xué)院:) ; jlb4.setBounds(43,128,100,25) ; this.add(jlb4) ; JLabel jlb5 = new JLabel(班級(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

33、) ; this.add(jtf1) ; jtf2.setBounds(80,60,100,25) ; this.add(jtf2) ; jtf3.setBounds(80,95,100,25) ; this.add(jtf3) ; jtf4.setBounds(80,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 JButton(添加) ; btn.setBound

34、s(68,245,80,30) ; /設(shè)置按鈕的大小和位置 this.add(btn) ; /將按鈕添加進(jìn)面板里 btn.addActionListener(this) ; (JComponent) this.getContentPane().setOpaque(false); .URL url = JavaSql.class.getResource(背景 1.jpg); ImageIcon img = new ImageIcon(url); JLabel background = new JLabel(img); this.getLayeredPane().add(background, n

35、ew Integer(Integer.MIN_VALUE); background.setBounds(0,0,img.getIconWidth(),img.getIconHeight(); public void actionPerformed(ActionEvent e) JButton btn=(JButton)e.getSource(); String xh = jtf1.getText() ; String xm = jtf2.getText() ; String xb = jtf3.getText() ; String xy = jtf4.getText() ; String bj

36、 = jtf5.getText() ; String jg = jtf6.getText() ; try a.Add(xh,xm,xb,xy,bj,jg); this.setVisible(false); catch (SQLException e1) class J_ActionListener3 extends JFrame implements ActionListener /創(chuàng)建 J_ActionListener3 監(jiān)聽(tīng)功能面板”修改已有學(xué)生信息“的按鈕 final DataBase a=new DataBase(); JFrame xiugai=new JFrame(); Strin

37、g b=null; public void jiemian() /在 J_ActionListener3 類里添加 jiemian()方法,創(chuàng)建按學(xué)號(hào)修改數(shù)據(jù)的界面 this.setTitle(請(qǐng)輸入數(shù)據(jù):) ; this.setSize(230,320) ; this.setLocation(200,130); 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)輸入要修改的屬性) ; JLab

38、el jlb3 = new JLabel(請(qǐng)輸入新的數(shù)據(jù)) ; final JTextField jtf1 = new JTextField() ; /設(shè)置三個(gè)文本框 final JTextField jtf2 = new JTextField() ; final JTextField jtf3 = new JTextField() ; JButton xg=new JButton(修改); /創(chuàng) 建”修改“按鈕 Container c=getContentPane(); c.setLayout(null); jlb1.setBounds(20,15,170,30); c.add(jlb1);

39、 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); xg.setBounds(80,230,60,35); c.add(xg); xg.addActionListener(new ActionListener()

40、/為”修改“按鈕添加事件觸發(fā) public void actionPerformed( ActionEvent e) / 當(dāng)修改的按鈕被點(diǎn)擊時(shí)執(zhí)行 JButton xg=(JButton)e.getSource(); String xuehao=jtf1.getText(); / 獲取文本框的數(shù)據(jù) String shuxin=jtf2.getText(); String xinshuju=jtf3.getText(); a.UpdateXh(xuehao,shuxin,xinshuju); setVisible(false); ); (JComponent) this.getContentPa

41、ne().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, img.getIconWidth(), img.getIconHeight(); public voi

42、d 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 jlb1 = new JLabel(請(qǐng)輸入要修改的學(xué)生的+b) ; /設(shè)置 3 個(gè)標(biāo)簽 JLabel jlb2 = new JLabel(請(qǐng)輸入要修改的屬性) ; JLabel jlb3 = new JLab

43、el(請(qǐng)輸入新的數(shù)據(jù)) ; final JTextField jtf1 = new JTextField() ; /設(shè)置三個(gè)文本框 final JTextField jtf2 = new JTextField() ; final JTextField jtf3 = new JTextField() ; JButton xg=new JButton(修改); /創(chuàng) 建”修改“按鈕 Container c=getContentPane(); c.setLayout(null); jlb1.setBounds(20,15,170,30); c.add(jlb1); jlb2.setBounds(20

44、,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); xg.setBounds(80,230,60,35); c.add(xg); xg.addActionListener(new ActionListener() /為”修改“按鈕添加事件觸發(fā) pub

45、lic void actionPerformed( ActionEvent e) / 當(dāng)修改的按鈕被點(diǎn)擊時(shí)執(zhí)行 JButton xg=(JButton)e.getSource(); String xinming=jtf1.getText(); / 獲取文本框的數(shù)據(jù) String shuxin=jtf2.getText(); String xinshuju=jtf3.getText(); a.UpdateXm(xinming,shuxin,xinshuju); setVisible(false); ); (JComponent) this.getContentPane().setOpaque(f

46、alse); /設(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, img.getIconWidth(), img.getIconHeight(); public void actionPerforme

47、d(ActionEvent e) JButton b3=(JButton)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 學(xué) 號(hào),姓名,學(xué)號(hào)); if(aa=學(xué)號(hào)) /當(dāng)用戶選擇按”學(xué)號(hào)“修改時(shí) 執(zhí)行 b=學(xué)號(hào); this.jiemian(); if(aa=姓名) /當(dāng)用戶選擇按”姓名 “修改時(shí)執(zhí)行 b

48、=姓名; this.jiemian2(); class J_ActionListener4 implements ActionListener /創(chuàng)建 J_ActionListener2 類監(jiān)聽(tīng)功能選項(xiàng)面板添加新的學(xué)生信息的按鈕 public void actionPerformed(ActionEvent e) JButton b4=(JButton)e.getSource(); DataBase a=new DataBase(); /實(shí)例化 DataBase 類 Object aa= JOptionPane.showInputDialog(null, 請(qǐng)選擇按何 種方式刪除,選擇,JOpt

49、ionPane.QUESTION_MESSAGE, /彈出窗口讓用戶選擇按 何種方式進(jìn)行刪除 null,new String 學(xué)號(hào),姓名,學(xué)號(hào)); if(aa=學(xué)號(hào)) String str11=JOptionPane.showInputDialog(請(qǐng)輸入 要?jiǎng)h除的記錄的學(xué)號(hào)); /當(dāng)用戶選擇按”學(xué)號(hào)“刪除時(shí)執(zhí)行 a.DeleteXh(str11); /執(zhí)行 DataBase 類的 DeleteXh 方法 else String str13=JOptionPane.showInputDialog( 請(qǐng)輸入要?jiǎng)h除的記錄的姓名); /當(dāng)用戶選擇按”姓名“修改時(shí)執(zhí)行 a.DeleteXm(str13); /執(zhí)行 DataBase 類的 DeleteXm 方法 class J_ActionListener5 implements ActionListener / 創(chuàng)建 J_Action

溫馨提示

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