版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 第一章引言1</b></p><p> 1.1 開發(fā)目的1</p><p> 1.2 開發(fā)背景2</p><p> 第二章 系統(tǒng)需求分析3</p><p> 2.1 學藉管理
2、系統(tǒng)的需求3</p><p> 2.2 學籍管理系統(tǒng)主要技術指標3</p><p> 2.3 編程語言和運行環(huán)境介紹4</p><p> 第三章 功能模塊設計7</p><p> 3.1 學藉管理系統(tǒng)功能模塊7</p><p> 3.2 功能模塊介紹7</p><p&
3、gt; 第四章 系統(tǒng)的實現(xiàn)8</p><p> 4.1 程序的入口的設計8</p><p> 4.2 程序的主界面的設計9</p><p> 4.3 添加學生信息界面的設計13</p><p> 4.4 學生成績錄入界面的設計15</p><p> 4.5 修改學生信息界面的設計17
4、</p><p> 4.6 修改學生成績界面的設計20</p><p> 4.7 查詢學生信息界面的設計23</p><p> 4.8 查詢學生成績界面的設計26</p><p> 4.9 刪除學生信息界面的設計27</p><p> 4.10 刪除學生成績界面的設計31</p>
5、<p> 第五章 測試34</p><p> 總結與心得體會42</p><p><b> 參考文獻43</b></p><p><b> 致 謝44</b></p><p><b> 附 錄45</b></p><p
6、><b> 引言</b></p><p> 學籍管理工作在正常的情況下需對大量的數(shù)據(jù)進行處理,它們包括,新生入學、班級設置、班級編排、新生學號設置、學生基本檔案輸入、學籍變動、每學期末的升級處理、學生生花名冊打印等。如果由人工去處理這些數(shù)據(jù)需要花費大量的時間、人力、物力。</p><p><b> 1.1 開發(fā)目的</b></
7、p><p> 學生學籍管理系統(tǒng)是一個教育單位信息化管理中不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生學籍管理系統(tǒng)應該能夠為用戶(即學生和管理者)提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式來管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。</p><p&
8、gt; 學籍管理信息系統(tǒng)以計算機為工具,通過對教務管理所的信息管理,把管理人員從繁瑣的數(shù)據(jù)計算處理中解脫出來,使其有更多的精力從事教務管理政策的研究實施,教學計劃的制定執(zhí)行和教學質量的監(jiān)督檢查,從而全面提高教學質量。</p><p><b> 1.2 開發(fā)背景</b></p><p> 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,
9、它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對學生學籍信息進行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低、數(shù)據(jù)處理快速等。這些優(yōu)點能夠極大地提高了學生學籍信息管理的效率,也是學生學籍管理科學化、正規(guī)化,與世界接軌的重要條件。因此,開發(fā)一套學生學籍管理軟件成為很有必要的事情。</p><p> 傳統(tǒng)的學校學籍
10、管理方法、由于分散管理,易發(fā)生數(shù)據(jù)丟失,勞動強度高,速度慢。使用計算機可以高速、快捷地完成以上工作。特別是在計算機聯(lián)網(wǎng)后,數(shù)據(jù)在網(wǎng)上傳遞,可以實現(xiàn)數(shù)據(jù)共享,避免重復勞動,規(guī)范教學管理行為,從而提高了管理效率和水平。學籍管理信息系統(tǒng)以計算機為工具,通過對教務管理所需的信息管理,把管理人員從繁瑣的數(shù)據(jù)計算處理中解脫出來,從而全面提高教學質量。</p><p> 第二章 系統(tǒng)需求分析</p><
11、p> 2.1 學藉管理系統(tǒng)的需求</p><p> 因為學籍管理系統(tǒng)存儲學生信息,所以數(shù)據(jù)庫系統(tǒng)應該具有備份和恢復功能,保證學生數(shù)據(jù)庫的長期完整性和正確性。另一方面,作為系統(tǒng)的服務器應該能夠長期無故障的運行,而且能夠便于管理員的操作。安全性要求比較高,對業(yè)務邏輯必須封裝,避免有人登陸他沒權限的網(wǎng)頁,避免黑客從數(shù)據(jù)流中截取。</p><p> 普通用戶的需求:對于只有查看權限的
12、用戶,一般是通過上網(wǎng)瀏覽學校網(wǎng)頁來查看數(shù)據(jù)的。</p><p> 各部門管理員:能夠對系統(tǒng)進行設置,以適應不同用戶的需求。對不同系的管理員分配不同的權限,教務處系統(tǒng)管理員具有最高的管理權限。</p><p> 2.2 學籍管理系統(tǒng)主要技術指標</p><p> 學籍管理系統(tǒng)主要技術指標</p><p> (1)使用最新開發(fā)工具開發(fā),
13、運行穩(wěn)定、效率高; </p><p> (2)學籍管理系統(tǒng)對硬件要求低,350M以上剩余硬盤空間即可保證軟件順利運行;</p><p> (3)可擴展性和靈活性強,用戶可以自由定義所需掌握的學籍信息并根據(jù)需要隨時調用和查詢已錄入信息;</p><p> (4)學籍管理系統(tǒng)操作簡便、快捷,使用我們的閱讀機和配套信息卡,所有學生入學、退學、升級等業(yè)務僅需點擊幾次鼠
14、標即可輕松完成。在新生入學等大批量人員操作時,更可以節(jié)省錄入時間、提高正確率。學籍管理系統(tǒng)所有信息也可人工錄入和修改,以方便沒有閱讀機的用戶。</p><p> 2.3 編程語言和運行環(huán)境介紹</p><p> 學藉管理系統(tǒng)采用Java語言進行編程。Java語言是一種很優(yōu)秀的語言,是目前軟件設計中極為壯健的編程語言,只要提供了Java解釋器,Java編寫的軟件在執(zhí)行碼上兼容。Java
15、作為一種程序設計語言,它簡單、面向對象、不依賴于機器的結構、具有可移植性、安全性、并且提供了并發(fā)的機制,具有很高的性能。其次,它最大限度地利用了網(wǎng)絡,Java的小應用程序(applet)可在網(wǎng)絡上運行而不受CPU和環(huán)境的限制。另外,Java還提供了豐富的類庫,使程序設計者可以很方便地建立自己的系統(tǒng)。</p><p> 通過分析Java的特點,進一步指出它所具有的優(yōu)點。</p><p>
16、 Java語言有下面一些特點:簡單、面向對象、與平臺無關、解釋執(zhí)行、多線程、安全、動態(tài)性。</p><p> (1) 簡單:Java語言是一種面向對象的語言,它通過提供最基本的方法來完成指定的任務,只需理解一些基本的概念,就可以用它編寫出適合于各種情況的應用程序。Java略去了運算符重載、多重繼承等模糊的概念,并且通過實現(xiàn)自動垃圾回收,大大簡化了程序設計者的內存管理工作。</p><p>
17、; (2) 面向對象:Java語言的設計集中于對象及其接口,它提供了簡單的類機制以及動態(tài)的接口模型。對象中封裝了它的狀態(tài)變量以及相應的方法,實現(xiàn)了模塊化和信息隱藏;而類則提供了一類對象的原型,并且通過繼承機制,子類可以使用父類所提供的方法,實現(xiàn)了代碼的復用。</p><p> (3) 與平臺無關:Java解釋器生成與體系結構無關的字節(jié)碼指令,只要安裝了Java運行時系統(tǒng),Java程序就可在任意的處理器上運行。
18、這些字節(jié)碼指令對應于Java虛擬機中的表示,Java解釋器得到字節(jié)碼后,對它進行轉換,使之能夠在不同的平臺運行。</p><p> (4) 解釋型:Java解釋器直接對Java字節(jié)碼進行解釋執(zhí)行。字節(jié)碼本身攜帶了許多編譯時信息,使得連接過程更加簡單。</p><p> (5) 多線程:Java還有一特點就是內置對多線程的支持。多線程支持完成多個任務。</p><p&
19、gt; (6) 安全:用于網(wǎng)絡、分布環(huán)境下的Java必須要防止病毒的入侵。Java不支持指針,一切對內存的訪問都必須通過對象的實例變量來實現(xiàn),這樣就防止程序員使用“特洛伊”木馬等欺騙手段訪問對象的私有成員,同時也避免了指針操作中容易產(chǎn)生的錯誤。</p><p> (7) 動態(tài):Java的設計使它適合于一個不斷發(fā)展的環(huán)境。在類庫中可以自由地加入新的方法和實例變量而不會影響用戶程序的執(zhí)行。并且Java通過接口來支
20、持多重繼承,使之比嚴格的類繼承具有更靈活的方式和擴展性。</p><p> 圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計算機操作用戶界面。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說在視覺上更易于接受。</p><p> 如Windows是以圖形界面方式操作的,因為你可以用鼠標來點擊按鈕來進行操作,很
21、直觀。而DOS就不具備GUI,所以他只能輸入命令。DOS 的這種界面叫CUI (Command line User Interface ) 命令行模式的人機接口。</p><p> GUI 是 Graphical User Interface 的簡稱,即圖形用戶界面,通常人機交互圖形化用戶界面設計經(jīng)常讀做“goo-ee”,準確來說 GUI 就是屏幕產(chǎn)品的視覺體驗和互動操作部分。 </p><
22、p> GUI 是一種結合計算機科學、美學、心理學、行為學,及各商業(yè)領域需求分析的人機系統(tǒng)工程,強調人—機—環(huán)境三者作為一個系統(tǒng)進行總體設計。 </p><p> 這種面向客戶的系統(tǒng)工程設計其目的是優(yōu)化產(chǎn)品的性能,使操作更人性化,減輕使用者的認知負擔,使其更適合用戶的操作需求,直接提升產(chǎn)品的市場競爭力。 </p><p> GUI 即人機交互圖形化用戶界面設計??v觀國際相關產(chǎn)業(yè)在
23、圖形化用戶界面設計方面的發(fā)展現(xiàn)狀,許多國際知名公司早已意識到 GUI 在產(chǎn)品方面產(chǎn)生的強大增值功能,以及帶動的巨大市場價值,因此在公司內部設立了相關部門專門從事 GUI 的研究與設計,同業(yè)間也成立了若干機構,以互相交流 GUI 設計理論與經(jīng)驗為目的。隨著中國 IT 產(chǎn)業(yè),移動通訊產(chǎn)業(yè),家電產(chǎn)業(yè)的迅猛發(fā)展,在產(chǎn)品的人機交互界面設計水平發(fā)展上日顯滯后,這對于提高產(chǎn)業(yè)綜合素質,提升與國際同等業(yè)者的競爭能力等等方面無疑起了制約的作用。</
24、p><p> 第三章 功能模塊設計</p><p> 3.1 學藉管理系統(tǒng)功能模塊</p><p> 該學藉管理系統(tǒng)包括六個大模塊,分別為入口、主界面、添加信息、修改信息、查詢信息、刪除信息。其中添加信息包含了添加基本信息和錄入成績信息功能;刪除信息包含了刪除基本信息和刪除成績信息功能;修改信息包含了修改基本信息和修改成績信息功能;查詢信息包含了查詢基本信息和
25、成績信息。其中基本信息包括學號、姓名、系別、專業(yè)等信息。</p><p> 3.2 功能模塊介紹</p><p> 該學藉管理系統(tǒng)包括六個大模塊,分別為入口、主界面、添加信息、修改信息、查詢信息、刪除信息。其具體的功能如下: (1)Student.Java:程序的入口,初始代主界面,使主界面位于屏幕的中間,使用戶不能改變其大小。 (2)MainFrame.Java:程序的
26、主界面,由菜單、登陸界面和操作選項所構成。</p><p> (3)AddInf.Java和Addscore.Java添加信息和成績界面,按照要求添入基本信息和錄入成績。</p><p> (4)ChangeInf.Java和 Changescore.Java修改信息和成績界面,按照提示輸入要修改信息的學生的學號,修改基本信息和成績。</p><p> (5)
27、SearchInf.Java和Searchscore.Java查詢信息和成績界面,輸入要查詢信息的學生的學號或姓名,查詢基本信息和成績。</p><p> (6)DelInf.Java和Delscore.Java刪除信息和成績界面,輸入要刪除信息的學生的學號,刪除基本信息和成績。</p><p> 第四章 系統(tǒng)的實現(xiàn)</p><p> 該系統(tǒng)由十個類組成,這
28、十個類分別是Student類、MainFrame類、AddInf類、Addscore類、ChangeInf類、Changescore類、DelInf類、Delscore類、SearchInf類和Searchscore類,每一個類里面都包含學生的基本信息或成績,其中Student類是含有主方法的,是程序的入口,MainFrame類是程序的主界面。學生的基本信息和成績都存放在student數(shù)據(jù)庫中,數(shù)據(jù)庫中用三個表,分別用于存放登錄時的用戶
29、名和密碼,學生的基本信息和學生的成績。</p><p> 4.1 程序的入口的設計</p><p> Student類是含有主方法的,是程序的入口,起初始代主界面的作用,使主界面位于屏幕的中間,使用戶不能改變其大小。代碼如下:</p><p> public class Student {</p><p> boolean pack
30、Frame = false;</p><p> public Student() {</p><p> MainFrame frame = new MainFrame();</p><p> if (packFrame) {</p><p> frame.pack();</p><p><b> }
31、</b></p><p><b> else {</b></p><p> frame.validate();</p><p><b> }</b></p><p> Dimension screenSize = Toolkit.getDefaultToolkit().getSc
32、reenSize();</p><p> Dimension frameSize = frame.getSize();</p><p> if (frameSize.height > screenSize.height) {</p><p> frameSize.height = screenSize.height;</p><p&g
33、t;<b> }</b></p><p> if (frameSize.width > screenSize.width) {</p><p> frameSize.width = screenSize.width;</p><p><b> }</b></p><p> frame
34、.setLocation( (screenSize.width - frameSize.width) / 2,</p><p> (screenSize.height - frameSize.height) / 2);</p><p> frame.setVisible(true);</p><p><b> }</b></p>
35、;<p> public static void main(String[] args) {</p><p> try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());</p><p><b> }</b></p><p> cat
36、ch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> new Student();</p><p><b> }</b></p><p><b> }<
37、;/b></p><p> 4.2 程序的主界面的設計</p><p> MainFrame類是程序的主界面,由菜單、登陸界面和操作選項所構成。其中菜單的“文件”中各操作項必須在登陸后方可選擇。</p><p> (1)“進入系統(tǒng)”按鈕的事件處理方法代碼。</p><p> 輸入用戶名和密碼后點擊“進入系統(tǒng)”按鈕,提示登陸成功
38、之后(用戶名和密碼在數(shù)據(jù)庫的Admin表中,如果用戶填的密碼或用戶名錯誤或沒填都會產(chǎn)生相應的警告框),登陸界面消失,出現(xiàn)“添加信息”、“修改信息”、“信息查詢”和“刪除信息”四個按鈕,且菜單中的操作項也被激活。“進入系統(tǒng)”按鈕的事件處理方法代碼如下:</p><p> void button1_actionPerformed(ActionEvent e) {</p><p> Stri
39、ng user = textField1.getText().trim();</p><p> String pass = textField2.getText().trim();</p><p><b> try {</b></p><p> String strurl = "jdbc:odbc:driver={Microso
40、ft Access Driver (*.mdb)};DBQ=student.mdb";</p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p> Connection conn = DriverManager.getConnection(strurl);</p><
41、p> Statement stmt = conn.createStatement();</p><p> if (user.equals("")|| pass.equals(""))</p><p> JOptionPane.showMessageDialog(null, "用戶名或密碼不能為空", "警告&
42、quot;,JOptionPane.WARNING_MESSAGE);</p><p><b> else {</b></p><p> ResultSet rs = stmt.executeQuery("select * from admin where username='" + user + "' AND pas
43、sword='" + pass + "'");</p><p> if (rs.next()) {</p><p> JOptionPane.showMessageDialog(null, "登陸成功");</p><p> login = true;</p><p>
44、 label1.setVisible(false);</p><p> label5.setVisible(false);</p><p> textField1.setVisible(false);</p><p> label2.setVisible(false);</p><p> textField2.setVisible(f
45、alse);</p><p> button1.setVisible(false);</p><p> label3.setVisible(true);</p><p> label4.setVisible(true);</p><p> button2.setVisible(true);</p><p>
46、button3.setVisible(true);</p><p> button4.setVisible(true);</p><p> button5.setVisible(true);</p><p> jMenuItem1.setEnabled(true);</p><p> jMenuItem2.setEnabled(tru
47、e);</p><p> jMenuItem3.setEnabled(true);</p><p> jMenuItem4.setEnabled(true);</p><p><b> }</b></p><p><b> else</b></p><p> JOp
48、tionPane.showMessageDialog(null, "登陸失敗", "警告",</p><p> JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><
49、p> catch (Exception eg)</p><p><b> {</b></p><p> eg.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p>
50、;<b> }</b></p><p> (2)“添加信息”按鈕和操作項的事件處理方法代碼。</p><p> 單擊“添加信息”按鈕或操作項后出現(xiàn)“添加學生信息”界面。“添加信息”按鈕和操作項的事件處理方法代碼如下:</p><p> class MainFrame_ActionAdapter implements ActionList
51、ener {</p><p> MainFrame adaptee;</p><p> MainFrame_ActionAdapter(MainFrame adaptee) {</p><p> this.adaptee = adaptee;</p><p><b> }</b></p><p
52、> public void actionPerformed(ActionEvent e) {</p><p> if (e.getSource() == adaptee.jMenuFileExit)</p><p> adaptee.jMenuFileExit_actionPerformed(e);</p><p> else if (e.getSou
53、rce() == adaptee.jMenuItem1 ||</p><p> e.getSource() == adaptee.button2) {</p><p> AddInf addInf = new AddInf();</p><p> addInf.setSize(400, 300);</p><p> addInf.se
54、tVisible(true);</p><p><b> }</b></p><p> (3)“修改信息”按鈕和操作項的事件處理方法代碼。</p><p> 單擊“修改信息”按鈕或操作項后出現(xiàn)“修改學生信息”界面。“修改信息”按鈕和操作項的事件處理方法代碼如下:</p><p> else if (e.getSo
55、urce() == adaptee.jMenuItem3 ||</p><p> e.getSource() == adaptee.button3) {</p><p> ChangeInf changeInf = new ChangeInf();</p><p> changeInf.setSize(400, 300);</p><p&g
56、t; changeInf.setVisible(true);</p><p><b> }</b></p><p> (4)“查詢信息”按鈕和操作項的事件處理方法代碼。</p><p> 單擊“查詢信息”按鈕或操作項后出現(xiàn)“查詢學生信息”界面?!安樵冃畔ⅰ卑粹o和操作項的事件處理方法代碼如下:</p><p>
57、else if (e.getSource() == adaptee.jMenuItem2 ||</p><p> e.getSource() == adaptee.button4) {</p><p> SearchInf searchInf = new SearchInf();</p><p> searchInf.setSize(400, 300);<
58、;/p><p> searchInf.setVisible(true);</p><p><b> }</b></p><p> (5)“刪除信息”按鈕和操作項的事件處理方法代碼。</p><p> 單擊“刪除信息”按鈕或操作項后出現(xiàn)“刪除學生信息”界面?!皠h除信息”按鈕和操作項的事件處理方法代碼如下:</p&
59、gt;<p> else if (e.getSource() == adaptee.jMenuItem4 ||</p><p> e.getSource() == adaptee.button5) {</p><p> DelInf delInf = new DelInf();</p><p> delInf.setSize(400, 300)
60、;</p><p> delInf.setVisible(true);</p><p><b> }</b></p><p> else if (e.getSource() == adaptee.jMenuHelpAbout)</p><p> adaptee.jMenuHelpAbout_actionPerfo
61、rmed(e);</p><p> else if (e.getSource() == adaptee.button1)</p><p> adaptee.button1_actionPerformed(e);</p><p><b> }</b></p><p><b> }</b><
62、;/p><p> 4.3 添加學生信息界面的設計</p><p> 該界面由學生的基本信息、“添加”按鈕、“退出添加”按鈕和“成績錄入”按鈕所構成。</p><p> (1)“添加”按鈕的事件處理方法代碼。</p><p> AddInf類是添加學生信息的,按照要求添入基本信息,如果用戶填錯或沒填,提示錯誤信息(如不能添加已經(jīng)注冊的學號
63、)。填寫完整后,點擊“添加”按鈕,將填入的信息加入到數(shù)據(jù)庫的BaseInf表中?!疤砑印卑粹o的事件處理方法代碼如下:</p><p> public void actionPerformed(ActionEvent e) {</p><p><b> try {</b></p><p> String strurl ="jdbc
64、:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb";</p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p> Connection conn = DriverManager.getConnection(str
65、url);</p><p> Statement stmt = conn.createStatement();</p><p> ResultSet rs = stmt.executeQuery("select 學號 from BaseInf where 學號='" +textField1.getText() + "'");<
66、;/p><p> if (rs.next()) {</p><p> JOptionPane.showMessageDialog(null, "此學號已經(jīng)被注冊.", "警告", JOptionPane.WARNING_MESSAGE);</p><p><b> return;</b></p&g
67、t;<p><b> }</b></p><p> stmt.execute("insert into BaseInf (學號,系別,專業(yè),姓名,性別,出年日期,籍貫,政治面貌,備注) values ('" + textField1.getText() + "','" + choice3.getSelected
68、Item() + "','"+</p><p> textField5.getText() + "','"+textField2.getText() + "','" + choice1.getSelectedItem() + "','" + textField3.get
69、Text() + "','"+</p><p> textField4.getText() + "','" + choice2.getSelectedItem() + "','" +</p><p> textArea1.getText() + "')"
70、;);</p><p> textField1.setText("");</p><p> textField2.setText("");</p><p> textField3.setText("");</p><p> textField4.setText("&
71、quot;);</p><p> textField5.setText("");</p><p> textArea1.setText("");</p><p> JOptionPane.showMessageDialog(null, "添加信息成功!");</p><p>&
72、lt;b> }</b></p><p> catch (Exception eg) {</p><p> JOptionPane.showMessageDialog(null,"請認真檢查各項(不能為空),\n日期要合法!然后重試.", "異常警告", JOptionPane.WARNING_MESSAGE);</p&g
73、t;<p> eg.printStackTrace();</p><p><b> } </b></p><p><b> }</b></p><p> (2)“退出添加”按鈕的事件處理方法代碼。</p><p> 單擊“退出添加”按鈕之后,返回到主界面?!巴顺鎏砑印卑粹o的事
74、件處理方法代碼如下:</p><p> public void button3_actionPerformed(ActionEvent e) {</p><p> this.hide(); </p><p><b> }</b></p><p> (3)“成績錄入”按鈕的事件處理方法代碼。</p>
75、<p> 單擊“成績錄入”按鈕之后出現(xiàn)學生成績錄入界面,“成績錄入”按鈕的事件處理方法代碼如下:</p><p> public void button2_actionPerformed(ActionEvent actionEvent) {</p><p> Addscore Addscore1=new Addscore();</p><p> A
76、ddscore1.pack();</p><p> Addscore1.setVisible(true);</p><p><b> }</b></p><p> 4.4 學生成績錄入界面的設計</p><p> Addscore類是學生成績錄入界面,由學生的成績信息、“增加”按鈕和“退出查詢”按鈕所構成。&l
77、t;/p><p> (1) “增加”按鈕的事件處理方法代碼。</p><p> 按照要求添入學生的成績信息,如果用戶填錯或沒填,提示錯誤信息(如不能添加已經(jīng)注冊的學號)。填寫完整后,點擊“增加”按鈕,將填入的信息加入到數(shù)據(jù)庫的score表中?!霸黾印卑粹o的事件處理方法代碼如下:</p><p> public void button2_actionPerforme
78、d(ActionEvent e) {</p><p><b> try {</b></p><p> String strurl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb";</p><p> Class.forName(&
79、quot;sun.jdbc.odbc.JdbcOdbcDriver");</p><p> Connection conn = DriverManager.getConnection(strurl);</p><p> Statement stmt = conn.createStatement();</p><p> ResultSet rs = s
80、tmt.executeQuery("select 學號 from score where 學號='" + textField8.getText() + "'"); </p><p> if (rs.next()) {</p><p> JOptionPa
81、ne.showMessageDialog(null, "此學號成績已經(jīng)被錄入.", "警告", JOptionPane.WARNING_MESSAGE);</p><p><b> return;</b></p><p><b>
82、; }</b></p><p> stmt.execute("insert into score (學號,姓名,英語,高等數(shù)學,計算機應用,政治,計算機網(wǎng)絡,JAVA,C) values ('" +</p><p> textField8.getText() + "','" + textField9.getT
83、ext() + "','" +</p><p> textField1.getText() + "','" + textField2.getText() + "','" +</p><p> textField3.getText() + "','&quo
84、t; + textField4.getText() + "','" +</p><p> textField5.getText() + "','" + textField6.getText() + "','" +</p><p> textField7.getText() + &
85、quot;')");</p><p> textField1.setText("");</p><p> textField2.setText("");</p><p> textField3.setText("");</p><p> textField4
86、.setText("");</p><p> textField5.setText("");</p><p> textField6.setText("");</p><p> textField7.setText("");</p><p> textFi
87、eld8.setText("");</p><p> textField9.setText("");</p><p> JOptionPane.showMessageDialog(null, "成績錄入成功!");</p><p><b> }</b></p>&l
88、t;p> catch (Exception eg) {</p><p> JOptionPane.showMessageDialog(null, "請認真檢查各項,\n然后重試.", "異常警告", JOptionPane.WARNING_MESSAGE);</p><p> e
89、g.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> (2) “退出”按鈕的事件處理方法代碼。</p><p> 單擊“退出”按鈕之后,返回到添加學生信息界面?!巴顺觥卑粹o的事件處理方法代碼如下:</p&
90、gt;<p> public void button1_actionPerformed(ActionEvent e) {</p><p> this.hide();</p><p><b> }</b></p><p> 4.5 修改學生信息界面的設計</p><p> ChangeInf類是修
91、改學生信息界面,該界面需要先輸入要修改信息的學生的學號然后單擊“下一步”,該界面由學生的基本信息、“修改”按鈕、“退出修改”按鈕和“修改成績”按鈕所構成。</p><p> (1)“下一步” 按鈕的事件處理方法代碼</p><p> 按照提示輸入要修改信息的學生學號,點擊“下一步”(如果數(shù)據(jù)庫無此學號,則提示“無此對應信息”),從數(shù)據(jù)庫中將該學生的完整信息讀出?!跋乱徊健?按鈕的事件處
92、理方法代碼如下:</p><p> if (e.getSource() == button2) {</p><p><b> try {</b></p><p> rs = stmt.executeQuery("SELECT * FROM BaseInf where 學號='" +textField6.getT
93、ext() + "'");</p><p> if (rs.next()) {</p><p> textField6.setVisible(false);</p><p> button2.setVisible(false);</p><p> label10.setVisible(false);<
94、/p><p> label1.setVisible(true);</p><p> label2.setVisible(true);</p><p> label3.setVisible(true);</p><p> label4.setVisible(true);</p><p> label5.setVis
95、ible(true);</p><p> label6.setVisible(true);</p><p> label7.setVisible(true);</p><p> label8.setVisible(true);</p><p> label9.setVisible(true);</p><p>
96、 textArea1.setVisible(true);</p><p> textArea1.setText(rs.getString("備注"));</p><p> textField1.setVisible(true);</p><p> textField1.enable(false);</p><p>
97、 textField1.setText(rs.getString("學號"));</p><p> textField2.setVisible(true);</p><p> textField2.setText(rs.getString("姓名"));</p><p> textField3.setVisible(t
98、rue);</p><p> textField3.setText(rs.getString("出年日期"));</p><p> textField4.setVisible(true);</p><p> textField4.setText(rs.getString("籍貫"));</p><p&
99、gt; textField5.setVisible(true);</p><p> textField5.setText(rs.getString("專業(yè)"));</p><p> choice1.setVisible(true);</p><p> choice1.select(rs.getString("性別"))
100、;</p><p> choice2.setVisible(true);</p><p> choice2.select(rs.getString("政治面貌"));</p><p> choice3.setVisible(true);</p><p> choice3.select(rs.getString(&q
101、uot;系別"));</p><p> button1.setVisible(true);</p><p> button3.setVisible(true);</p><p> button4.setVisible(true);</p><p><b> }</b></p><p&
102、gt;<b> else</b></p><p> JOptionPane.showMessageDialog(null, "無此學號對應信息", "警告",JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p><p> c
103、atch (Exception eg) {</p><p> eg.printStackTrace();</p><p><b> } </b></p><p><b> }</b></p><p> (2)“修改” 按鈕的事件處理方法代碼</p><p> 用戶修
104、改完基本信息之后點擊“修改”即可。注意:為了防止意外,修改學生信息時,程序禁止了對學號的修改。(為了程序設計方便和代碼重用,修改信息的代碼是先刪此該生所有信息,再將修改后的信息全部添加到數(shù)據(jù)庫,這也是數(shù)據(jù)庫修改的原理)?!靶薷摹?按鈕的事件處理方法代碼如下:</p><p> else if (e.getSource() == button1) {</p><p><b>
105、try {</b></p><p> stmt.execute("DELETE * FROM BaseInf where 學號='" + textField1.getText() +"'");</p><p> stmt.execute(</p><p> "insert into
106、BaseInf (學號,系別,專業(yè),姓名,性別,出年日期,籍貫,政治面貌,備注) values ('" +textField1.getText() + "','" + choice3.getSelectedItem() + "','" +textField5.getText() + "','" + textFie
107、ld2.getText() + "','" +choice1.getSelectedItem() + "','" + textField3.getText() + "','" +textField4.getText() + "','" + choice2.getSelectedItem() +
108、"','" +textArea1.getText() + "')");</p><p> JOptionPane.showMessageDialog(null, "修改信息成功!");</p><p><b> }</b></p><p> catch (
109、Exception eg) {</p><p> JOptionPane.showMessageDialog(null, "請認真檢查各項(不能為空),\n日期要合法!然后重試.","異常警告", JOptionPane.WARNING_MESSAGE);</p><p> eg.printStackTrace();</p><
110、;p><b> }</b></p><p><b> }</b></p><p> (3)“修改成績” 按鈕的事件處理方法代碼</p><p> 單擊“修改成績”按鈕之后出現(xiàn)修改學生成績界面?!靶薷某煽儭?按鈕的事件處理方法代碼如下:</p><p> public void but
111、ton3_actionPerformed(ActionEvent e) {</p><p> Changescore Changescore1=new Changescore();</p><p> Changescore1.pack();</p><p> Changescore1.setVisible(true);</p><p>
112、<b> }</b></p><p> (4) “退出修改” 按鈕的事件處理方法代碼</p><p> 單擊“退出修改”按鈕之后,返回到主界面?!巴顺鲂薷摹?按鈕的事件處理方法代碼如下:</p><p> public void button4_actionPerformed(ActionEvent e) {</p>&l
113、t;p> this.hide();</p><p><b> }</b></p><p> 4.6 修改學生成績界面的設計</p><p> Changescore類是修改學生成績界面,由學生成績信息、“查詢”按鈕、“修改”按鈕和“退出修改”所構成。</p><p> (1) “查詢”按鈕的事件處理方法
114、代碼</p><p> 按照提示輸入要修改成績信息的學生學號,點擊“查詢”(如果數(shù)據(jù)庫無此學號,則提示“無此對應信息”),從數(shù)據(jù)庫中將該學生的完整信息讀出。“查詢” 按鈕的事件處理方法代碼如下:</p><p> public void button2_actionPerformed(ActionEvent e) {</p><p> if (e.getSou
115、rce() == button2) {</p><p><b> try {</b></p><p> rs = stmt.executeQuery("SELECT * FROM score where 學號='" + textField8.getText() + "'");</p><p
116、> if (rs.next()) {</p><p> textField8.enable(false);</p><p> textField8.setText(rs.getString("學號"));</p><p> textField9.setText(rs.getString("姓名"));</p
117、><p> textField1.setText(Integer.toString(rs.getInt("英語")));</p><p> textField2.setText(Integer.toString(rs.getInt("高等數(shù)學")));</p><p> textField3.setText(Integer.
118、toString(rs.getInt("計算機應用")));</p><p> textField4.setText(Integer.toString(rs.getInt("政治")));</p><p> textField5.setText(Integer.toString(rs.getInt("計算機網(wǎng)絡")));<
119、;/p><p> textField6.setText(Integer.toString(rs.getInt("JAVA")));</p><p> textField7.setText(Integer.toString(rs.getInt("C")));</p><p><b> }</b></
120、p><p><b> else</b></p><p> JOptionPane.showMessageDialog(null, "無此學號對應信息", "警告", JOptionPane.WARNING_MESSAGE);</p
121、><p><b> }</b></p><p> catch (Exception eg) {</p><p> eg.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p&g
122、t;<p><b> }</b></p><p> (2) “修改”按鈕的事件處理方法代碼</p><p> 用戶修改完成績信息之后點擊“修改”即可。注意:為了防止意外,修改學生信息時,程序禁止了對學號的修改。(為了程序設計方便和代碼重用,修改信息的代碼是先刪此該生所有信息,再將修改后的信息全部添加到數(shù)據(jù)庫,這也是數(shù)據(jù)庫修改的原理)?!靶薷摹?按鈕
123、的事件處理方法代碼如下:</p><p> public void button3_actionPerformed(ActionEvent e) {</p><p> if (e.getSource() == button3) {</p><p><b> try {</b></p><p> stmt.exec
124、ute("DELETE * FROM score where 學號='" + textField8.getText() +"'");</p><p> stmt.execute("insert into score (學號,姓名,英語,高等數(shù)學,計算機應用,政治,計算機網(wǎng)絡,JAVA,C) values ('" +</p&
125、gt;<p> textField8.getText() + "','" + textField9.getText() + "','" +</p><p> textField1.getText() + "','" + textField2.getText() + "',
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java圖書管理系統(tǒng)畢業(yè)設計
- 畢業(yè)設計---基于java用戶管理系統(tǒng)
- java學生管理系統(tǒng)畢業(yè)設計論文
- java家政服務管理系統(tǒng)畢業(yè)設計
- java畢業(yè)設計--網(wǎng)吧收費管理系統(tǒng)
- 基于java的餐飲管理系統(tǒng)畢業(yè)設計
- [java畢設]java圖書管理系統(tǒng)畢業(yè)設計+源碼
- java藥品管理系統(tǒng)設計-畢業(yè)設計(論文)
- java畢業(yè)設計--小區(qū)物業(yè)管理系統(tǒng)
- java論文成績管理系統(tǒng)畢業(yè)設計
- java開發(fā)的畢業(yè)設計-學籍管理系統(tǒng)
- java圖書管理系統(tǒng)(畢業(yè)設計帶源碼)
- 基于java的酒店管理系統(tǒng)畢業(yè)設計論文
- java開發(fā)的畢業(yè)設計-學生社團管理系統(tǒng)
- java航空訂票系統(tǒng)畢業(yè)設計
- java模擬atm系統(tǒng)畢業(yè)設計
- java考試系統(tǒng)畢業(yè)設計(論文)
- 超市收銀管理系統(tǒng)的設計畢業(yè)設計畢業(yè)論文java
- java在線考試系統(tǒng)畢業(yè)設計
- 基于java的圖書館管理系統(tǒng)畢業(yè)設計
評論
0/150
提交評論