歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

JAVA課程設計學籍管理系統(tǒng)1

  • 資源ID:253597504       資源大小:316KB        全文頁數(shù):28頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

JAVA課程設計學籍管理系統(tǒng)1

課程設計報告 課程設計(論文)任務書 軟件  學  院  軟件+信息  ?! I(yè)  1班  班   一、課程設計(論文)題目   學籍管理系統(tǒng)    二、課程設計(論文)工作自 10 年 12 月 20 日起至 10 年 12 月 24 日止。 三、課程設計(論文) 地點: 軟件學院實訓中心 四、課程設計(論文)內(nèi)容要求: 1.本課程設計的目的 (1)使學生鞏固和提高Java編程技術 (2)培養(yǎng)學生掌握程序設計的基本思路和方法; (3)加強學生研發(fā)、調(diào)試程序的能力; (4)培養(yǎng)學生分析、解決問題的能力; (5)提高學生的科技論文寫作能力。 2.課程設計的任務及要求 1)任務:   (1)錄入學生基本信息的功能; (2)修改學生基本信息的功能 (3)查詢學生基本信息的功能 (4)刪除學生基本信息的功能 2)創(chuàng)新要求: (5)顯示所有學生基本信息的功能 (6)在用戶進行相應操作時應彈出提示對話框 (7)采用數(shù)據(jù)庫存儲學生基本信息 3)課程設計論文編寫要求 (1)課程設計任務及要求 (2)設計思路--工作原理、功能規(guī)劃 (3)詳細設計---數(shù)據(jù)分析、算法思路、類設計、功能實現(xiàn)(含程序流程圖、主要代碼及注釋)、界面等。 (4)運行調(diào)試與分析討論---給出運行屏幕截圖,分析運行結果,有何改進想法等。 (5)設計體會與小結---設計遇到的問題及解決辦法,通過設計學到了哪些新知識,鞏固了哪些知識,有哪些提高。 (6)參考文獻(必須按標準格式列出,可參考教材后面的參考文獻格式) (7) 報告按規(guī)定排版打印,要求裝訂平整,否則要求返工; (8) 課設報告的裝訂順序如下:封面---任務書---中文摘要---目錄----正文---附錄(代碼及相關圖片) (9)嚴禁抄襲,如有發(fā)現(xiàn),按不及格處理。 4)答辯與評分標準: (1)考勤:10分; (2)程序檢查:30分; (3)課設答辯:20分 (3)課程設計報告:40分; 5)參考文獻: (1)丁振凡《Java語言使用教程》 北京郵電大學出版社 (2)張 .《 》 某出版社 (3) 6)課程設計進度安排 內(nèi)容 天數(shù)      地點 構思及收集資料 7       圖書館 編碼與調(diào)試 5       實驗室 撰寫論文 3       圖書館、實驗室 學生簽名: 10年 12月 20 日 課程設計(論文)評審意見 (1)考勤(10分):優(yōu)(?。⒘迹ā。⒅校ā。⒁话悖ā。⒉睿ā。? (2)程序檢查(30分):優(yōu)(?。?、良( )、中(?。?、一般(?。?、差(?。?; (3)課設答辯(20分):優(yōu)(?。?、良(?。?、中(?。?、一般(?。?、差(?。?; (4)課設報告(40分):優(yōu)(?。?、良( )、中(?。?、一般( )、差(?。?; 評閱人:     職稱: 講師 10 年 01 月 25 日 中文摘要 本程序用于用戶對少量學生信息進行簡單的管理,本程序針對于對安全系數(shù)要求不高,炒作不是很復雜的小型客戶開發(fā),如本程序不符合您的要求,請選擇其他大型程序。 本程序可以實現(xiàn)對學生信息的錄入、查詢、修改、刪除等操作,同時支持查看所有學生信息,功能完善,界面簡潔美觀,布局合理,操作簡便,簡單易用,任何人可輕松操作。 同時,本程序對系統(tǒng)要求配置較低,運行速度快,而卻對數(shù)據(jù)庫管理要求較低。本程序數(shù)據(jù)庫采用office2007版本的access數(shù)據(jù)庫(.accdb)進行數(shù)據(jù)存儲,該數(shù)據(jù)庫可實現(xiàn)關系較為簡單的數(shù)據(jù)管理。如有需要,請與XXX公司聯(lián)系。 本程序版本為0.9公測版,使用完全免費,未經(jīng)允許,禁止用于商業(yè)用途,歡迎用戶使用,如在使用中出現(xiàn)問題,請及時將問題反饋給我們,一邊為您提供質量更優(yōu)秀的軟件,我們再次深表感謝! 目 錄 一、課設任務及要求 1 二、需求分析 2 三、設計思路 3 四、詳細設計 4 五、運行調(diào)試與分析討論 19 六、設計體會與小結 22 七、參考文獻 23 一、課設任務及要求 題目 學籍管理系統(tǒng) 設計內(nèi)容 設計基于access數(shù)據(jù)庫的學籍管理系統(tǒng)。 學生基本信息應包括對學生的相關屬性進行操作,如學號、姓名、性別、專業(yè)、年級、生日等信息,另外添加備注一欄存儲學生的附加信息。用戶可對學生基本信息進行錄入、查詢、修改、刪除、顯示所有學生信息等基本操作。 學生基本信息包括多項屬性,關系較為復雜,應采用數(shù)據(jù)庫存儲學生基本信息,這樣各種信息之間的關系、區(qū)別以及聯(lián)系可以更好的存儲起來。 設計要求 1錄入學生基本信息的功能 1.1 用戶按照要求輸入信息進行注冊,成功之后要提示用戶注冊成功。 1.2 當用戶注冊是輸入不當,如學號已存在,應提示用戶學號已存在,并重新輸入。 2查詢學生基本信息的功能 2.1 用戶可通過學號查詢數(shù)據(jù)庫中學生的基本信息,并將該學 號的學生基本信息顯示在查詢窗口里。 2.2 當用戶輸入有不當,如輸入學號不存在,應提示用戶輸入的學號有誤,并重新輸入。 2.3 用戶不能對查詢窗口中顯示的學生基本信息進行編輯。 3修改學生基本信息的功能 3.1 用戶可通過學號在數(shù)據(jù)庫中搜索需要修改的學生的基本信息,并將該學號的學生基本信息顯示在修改窗口里。 3.2 用戶可通過各行的修改按鈕來改變學生信息的狀態(tài),并對學生基本信息進行修改。 3.3 用戶輸入新的學生信息后可將修改后的學生信息上傳至數(shù)據(jù)庫中。 4刪除學生基本信息的功能 4.1 用戶可通過學號在數(shù)據(jù)庫中搜索需要刪除的學生的基本信息,并將該學號的學生基本信息顯示在刪除窗口里。 4.2 用戶可將需要刪除的學生信息從數(shù)據(jù)庫中刪除。 4.3 當用戶刪除成功之后應提示用處該學號的同學已從數(shù)據(jù)庫中刪除。 5顯示所有學生基本信息的功能 5.1 可在窗口中顯示所有數(shù)據(jù)庫中的學生信息。 5.2 學生信息要按一定規(guī)則有序的顯示。 二、需求分析 系統(tǒng)目標: 軟件開發(fā)的意圖便于用戶對學生的管理,方便查看學生的情況。如用戶對學生基本信息進行錄入、查詢、修改、刪除等。 使用范圍: 本系統(tǒng)僅針對用戶對少量學生進行學籍管理。 功能要求: 1錄入學生基本信息的功能 2 查詢學生基本信息的功能 3修改學生基本信息的功能 4刪除學生基本信息的功能 5顯示所有學生信息的功能 信息采集與使用權限: 使用時由用戶錄入學生信息,安裝本系統(tǒng)的用戶皆可使用此軟件。 性能需求: 1、 程序運行流暢 程序占用內(nèi)存小,可在大多數(shù)電腦上流暢運行。 2、 數(shù)據(jù)的完整性,準確性 錄入按格式錄入,同時只能錄入一名學生的基本信息。 輸出按格式輸出,輸出所有學生信息是要采用表格形式。 3、 界面適當美觀,優(yōu)雅,通用性較強 三、設計思路 界面構建: 1、為了便于各種操作,軟件采用多窗口的模式。用戶可在不同窗口進行相應操作(錄入、查詢、修改、刪除、顯示所有學生省信息)。 2、主窗口是用戶進行各種操作的平臺,具體操作在各個獨立功能窗口中完成。 3、主窗口的主要功能位于菜單中,菜單為進入各個功能窗口的唯一通道。 4、各功能窗口(除顯示所有學生信息窗口)均由兩到三個模塊構成。第一個模塊中主要包含學號以及相關操作的組件。第二個模塊由姓名、性別、專業(yè)、年級、生日等相關組件構成。第三個模塊(錄入、修改、刪除窗口中包含)由相關操作的功能按鈕組件構成。 5、當用戶在進行個別錄入、刪除或錯誤輸入操作時,會彈出相應對話框提示用戶。如當錄入成功或刪除成功,彈出成功以及相應的簡明信息提示當,當錄入、刪除失敗以及輸入不當是,彈出錯誤以及簡單的錯誤原因提示用戶重新操作。 6、界面布局盡量合理,各組件位置分布均勻美觀。 數(shù)據(jù)存儲 1、由于學生包含多項屬性,需對學生屬性進行錄入、修改、刪除等多項操作,操作過程較為復雜,故采用數(shù)據(jù)庫。本軟件針對小型用戶使用,故使用入門級的access數(shù)據(jù)庫。 2、由于存儲少量信息,數(shù)據(jù)庫中只包含一個表,表中有學號、姓名、性別、專業(yè)、年級、生日等關鍵字。 3、數(shù)據(jù)庫在用完之后即使關閉。 四、詳細設計 1、程序主體概述: import java.awt.*; import java.awt.event.*; import java.sql.*; 程序采用AWT包的相關組件設計,故包含awt包; 通過各種動作完成相關操作,故包含awt.event包; 學生信息用數(shù)據(jù)庫存儲,故包含sql包; public class StudentManageSystem extends Frame implements WindowListener,ActionListener{。 。 。} StudentManageSystem為主類,通過繼承類Frame以及借口,分別實現(xiàn)主窗口創(chuàng)建功能,動作、窗口都做監(jiān)聽的功能。 2、窗口監(jiān)聽: windowClosingwei()為實現(xiàn)各窗口關閉的方法。 public void windowClosing(WindowEvent e){ try{ Frame frm=(Frame)(e.getSource()); if(e.getSource()==this){ try{ stmt.close(); con.close(); } catch(Exception ex){ System.out.println(ex.getMessage()); } System.exit(0); } else{ frm.dispose(); } }catch(Exception ex){ Dialog dig=(Dialog)(e.getSource()); dig.dispose(); } } 文件中出現(xiàn)的窗體有兩種—Frame和Dialog。關閉方法采用異常處理機制,非異常情況需要關閉的窗口是Frame,如果需要關閉的窗體是Dialog,則進入異常處理機制。當關閉Frame時先判斷是否為主窗體,主窗體則關閉所有窗體并退出窗體,同時與數(shù)據(jù)庫斷開,當需要關閉的窗體為功能窗體時,只關閉該功能窗體。 3、公共組件: Panel zt;//歡迎窗體中的重要容器 MenuBar mt;//主菜單 Frame zf;//功能窗體加載的平臺 Panel stuinf;//功能窗體中學生信息家在的容器 Font font1; Label number,name,sex,profession,grade,birthday;//屬性標簽 TextField numbers,names,professions,grades,birthdays;//屬性文本域 CheckboxGroup style=new CheckboxGroup();//性別 Checkbox f,m; String url="jdbc:odbc:學生管理系統(tǒng)";//數(shù)據(jù)庫連接 String sql="SELECT *FROM 學生信息"; Connection con; Statement stmt; ResultSet rs; Dialog wrongd;//錯誤對話框 Dialog confirmd;//成功對話框 String num0=""; 4、構造函數(shù)—主窗體: public StudentManageSystem1(){ super("學籍管理系統(tǒng)"); this.setVisible(true); 。。。 mt=new MenuBar(); Menu menu=new Menu("菜單"); MenuItem ininformation=new MenuItem("錄入學生信息"); menu.add(ininformation); ininformation.addActionListener(this); 。。。 mt.add(menu); setMenuBar(mt); zt=new Panel(); zt.add(new Label("\n"+"歡迎登陸學生管理系統(tǒng)")); this.add(zt); numbers=new TextField(20); 。。。 number=new Label("學好"); 。。。 m=new Checkbox("男",true,style); f=new Checkbox("女",false,style); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(java.lang.ClassNotFoundException e){ System.err.println(e.getMessage()); } try{ con=DriverManager.getConnection(url, "", null); stmt=con.createStatement(); rs=stmt.executeQuery(sql); System.out.println("連接成功"); } catch(SQLException ex){ System.out.println("Message"+ex.getMessage()); } } 通過構造函數(shù),加載主窗體(包括家在菜單以及歡迎界面),對主窗體設置大小,添加動作監(jiān)聽器以及窗口監(jiān)聽器,初始化部分程序用到的公共組件(學生學號、姓名、性別、專業(yè)、年級、生日等相關組件),以及連接數(shù)據(jù)庫。 5、學生信息加載方法: public Panel lodeinf(Panel stuinf){ 。。。 } 該方法用于加載功能窗體中學生信息顯示組件的加載,包括學號、姓名、性別、專業(yè)、年級、生日的標簽以及文本域組件。 6、錄入學生信息窗體 public void registzf(String s){ stuinf=new Panel(); zf=new Frame(s); zf.doLayout(); zf.setLayout(new BorderLayout()); Panel ps=new Panel(); Label l=new Label("學號"); ps.setLayout(null); 。。。 l.setBounds(50, 5, 30, 20); numbers.setBounds(100, 5, 220, 20); Panel px=new Panel(); px.setLayout(null); px.setBounds(0, 0, 0, 40); Button sureb,cancelb; sureb=new Button("錄入"); cancelb=new Button("取消"); sureb.setBounds(150, 5, 40, 30); cancelb.setBounds(200, 5, 40, 30); px.setBackground(Color.LIGHT_GRAY); px.add(sureb); px.add(cancelb); sureb.addActionListener(this); cancelb.addActionListener(this); zf.setVisible(true); 。。。 zf.addWindowListener(this); } 錄入窗體包含三個模塊。 通過容器ps加載學號的相關組件,成為第一模塊。 注冊窗體調(diào)用lodeinf(Panel stuinf)加載學生信息主體組件進行加載,成為第二模塊。 通過容器px加載錄入,取消按鈕,來實現(xiàn)成績錄入以及推出該窗體,成為第三模塊。 7、查詢學生信息窗體 public void inquirezf(String s){ stuinf=new Panel(); zf=new Frame(s); 。。。 Panel ps=new Panel(); Label l=new Label("請輸入要查詢的學號:"); Button b=new Button("查詢"); b.addActionListener(this); ps.setLayout(null); ps.setBounds(0, 0, 100, 30); ps.setBackground(Color.LIGHT_GRAY); ps.add(l); 。。。 l.setBounds(50, 5, 120, 20); 。。。 zf.add("North",ps); zf.add("Center",lodeinf(stuinf)); zf.addWindowListener(this); names.setEnabled(false); 。。。 } 查詢窗體包含兩個模塊。 通過容器ps加載學號的相關組件,以及查詢按鈕,成為第一模塊。 注冊窗體調(diào)用lodeinf(Panel stuinf)加載學生信息主體組件進行加載,成為第二模塊。 注意:該窗體中,用戶不能對除學號以外的信息進行操作。 8、修改學生信息窗體 public void modifyzf(String s){ stuinf=new Panel(); zf=new Frame(s); 。。。 Panel p=new Panel(); Panel ps=new Panel(); Label l=new Label("請輸入要修改的學號:"); Button b=new Button("搜索"); ps.setLayout(null); ps.setBounds(0, 0, 400, 60); ps.setBackground(Color.LIGHT_GRAY); ps.add(l); 。。。 l.setBounds(25, 35, 120, 20); 。。。 b.addActionListener(this); Panel px=new Panel(); px.setLayout(null); px.setBounds(0, 250, 400, 50); Button inquire,reinquire; inquire=new Button("錄入修改"); reinquire=new Button("重置"); inquire.setBounds(130, 5, 60, 25); reinquire.setBounds(210, 5, 40, 25); px.add(inquire); px.add(reinquire); px.setBackground(Color.LIGHT_GRAY); inquire.addActionListener(this); reinquire.addActionListener(this); Label wl1,wl2,wl3,wl4,wl5; wl1=new Label("(新)"); 。。。 wb1=new Button("修改"); 。。。 wl1.setBackground(Color.LIGHT_GRAY); 。。。 zf.add(wl1); 。。。 zf.add(wb1); 。。。 wl1.setBounds(25, 76, 25, 20); 。。。 wb1.setBounds(330, 75, 40, 20); 。。。 wb1.addActionListener(this); 。。。 wb1.setEnabled(false); 。。。 p=lodeinf(stuinf); p.setBounds(0,60,400,190); zf.addWindowListener(this); zf.add(ps); 。。。 names.setEnabled(false); 。。。 } 修改窗體包含三個模塊+部分輔助組件。 通過容器ps加載學號的相關組件,以及搜索按鈕,成為第一模塊。 注冊窗體調(diào)用lodeinf(Panel stuinf)加載學生信息主體組件進行加載,成為第二模塊。 通過容器px加載錄入修改,重置按鈕,來實現(xiàn)成績錄入以及推出該窗體,成為第三模塊。 還有部分顯示“新”的標簽,以及修改的按鈕。 注意:沒有顯示學號之前其他組件均不能操作。 9、刪除學生信息窗體 public void deletezf(String s){ stuinf=new Panel(); zf=new Frame(s); 。。。 Panel ps=new Panel(); Label l=new Label("請輸入要刪除的學號:"); Button b=new Button("搜索"); ps.setLayout(null); ps.setBounds(0, 0, 100, 30); ps.setBackground(Color.LIGHT_GRAY); ps.add(l); 。。。 l.setBounds(50, 5, 120, 20); 。。。 b.addActionListener(this); Panel px=new Panel(); px.setLayout(null); px.setBounds(0, 0, 0, 40); Button sureb,cancelb; sureb=new Button("刪除"); cancelb=new Button("取消"); sureb.setBounds(150, 5, 40, 30); cancelb.setBounds(200, 5, 40, 30); px.setBackground(Color.LIGHT_GRAY); 。。。 sureb.addActionListener(this); cancelb.addActionListener(this); zf.add("North",ps); 。。。 zf.addWindowListener(this); names.setEnabled(false); 。。。 } 刪除窗體包含三個模塊。 通過容器ps加載學號的相關組件,以及搜索按鈕,成為第一模塊。 注冊窗體調(diào)用lodeinf(Panel stuinf)加載學生信息主體組件進行加載,成為第二模塊。 通過容器px加載刪除,取消按鈕,來實現(xiàn)成績錄入以及推出該窗體,成為第三模塊。 注意:沒有顯示學號之前其他組件均不能操作。 10、顯示所有學生信息窗體 public void allzf(String s){ String informations="學號 \t姓名 \t性別 \t專業(yè) \t年級 \t生日 \r\n"; TextArea text; zf=new Frame(s); 。。。 Font font=new Font("宋體",12,14); try{ sql="SELECT *FROM 學生信息"; rs=stmt.executeQuery(sql); while(rs.next()){ String s0=rs.getString("學號"); 。。。 informations+=s0+"\t"+s1+"\t"+s2+"\t"+s3+"\t"+s4+"\t"+s5+"\r\n"; } }catch(Exception ex){} text=new TextArea(informations); text.setBounds(10,30,380,260); text.setFont(font); text.setBackground(Color.LIGHT_GRAY); zf.add(text); zf.addWindowListener(this); } 該窗體由一個TextArea構成,用于顯示全部學生的年基本信息。 注意:顯示要按一定規(guī)則輸出(表格形式)。 11、動作監(jiān)聽 public void actionPerformed(ActionEvent e){ if(e.getActionCommand()=="錄入學生信息"){ { if(zf!=null){ zf.dispose(); } registzf("學生信息錄入"); } } if(e.getActionCommand()=="查詢學生信息"){。。。} if(e.getActionCommand()=="修改學生信息"){。。。} if(e.getActionCommand()=="刪除學生信息"){。。。} if(e.getActionCommand()=="所有學生信息"){。。。} if(e.getActionCommand()=="錄入"){...} if(e.getActionCommand()=="查詢"){...} if(e.getActionCommand()=="搜索"){...} if(e.getActionCommand()=="修改"){ numbers.setText(num0); if(e.getSource()==wb1) names.setEnabled(true); 。。。 } if(e.getActionCommand()=="錄入修改"){。。。} if(e.getActionCommand()=="重置"){ 。。 try{ sql="SELECT *FROM 學生信息"; rs=stmt.executeQuery(sql); while(rs.next()){ String s0=rs.getString("學號"); 。。。 if(num0.equals(s0)){ names.setText(s1); if(s2.equals("男")) m.setState(true); 。。。 } } }catch(Exception ex){ System.out.println(ex.getMessage()); } } if(e.getActionCommand()=="刪除"){ ... } if(e.getActionCommand()=="取消"){ zf.dispose(); } if(e.getActionCommand()=="退出"){ System.exit(0); } if(e.getActionCommand()=="確定"){ try{ confirmd.dispose(); }catch(Exception ex){} try{ wrongd.dispose(); }catch(Exception ex){} } } 11、1 進入錄入、查詢、修改、刪除、顯示所有信息窗口 if(e.getActionCommand()=="錄入學生信息"){。。。} if(e.getActionCommand()=="查詢學生信息"){。。。} if(e.getActionCommand()=="修改學生信息"){。。。} if(e.getActionCommand()=="刪除學生信息"){。。。} if(e.getActionCommand()=="所有學生信息"){。。。} 11、2 錄入 if(e.getActionCommand()=="錄入"){ String num0=""; String s0=numbers.getText(); 。。。 if(m.getState()) s2="男"; if(f.getState()) s2="女"; int count=0; try{ sql="SELECT *FROM 學生信息"; rs=stmt.executeQuery(sql); while(rs.next()){ num0=rs.getString("學號"); if(num0.equals(s0)){ count++; } } if(count==0){ sql="insert into 學生信息(學號,姓名,性別,專業(yè),年級,生日,備注) values('"+s0+"','"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','"+""+"')"; stmt.executeUpdate(sql); confirmd=new Dialog(zf,"恭喜你!"); confirmd.setVisible(true); confirmd.setModal(true); confirmd.setSize(300, 100); confirmd.setBounds(20, 100, 220, 100); confirmd.addWindowListener(this); Label confirml=new Label("注冊成功!\n學號:"+s0+"\n姓名:"+s1+"\n性別:"+s2+"\n專業(yè):"+s3+"\n年級:"+s4+"\n生日:"+s5+""); Button confirmb=new Button("確定"); confirmb.addActionListener(this); confirmd.setLayout(new FlowLayout()); confirmd.add("North",confirml); confirmd.add("Center",confirmb); confirmd.pack(); } else{ wrongd=new Dialog(zf,"錯誤"); 。。。 } }catch(Exception ex){ System.out.println(ex.getMessage()); } } 錄入之前先檢查該學號是否存在,如果存在,彈出錯誤對話框,提示重新輸入,如果錄入成功,彈出成功窗口。 11、3 查詢/搜索 if(e.getActionCommand()=="查詢"){ num0=numbers.getText(); int count=0; try{ sql="SELECT *FROM 學生信息"; rs=stmt.executeQuery(sql); while(rs.next()){ String s0=rs.getString("學號"); 。。。 if(num0.equals(s0)){ names.setText(s1); if(s2.equals("男")) m.setState(true); 。。。 count++; } } if(count==0){ wrongd=new Dialog(zf,"錯誤"); 。。。 Label wrongl=new Label("您輸入的學號"+num0+"不存在,請重新輸入!"); 。。。 numbers.setText(""); } }catch(Exception ex){ System.out.println(ex.getMessage()); } } 查詢該學號是否存在,如果不存在,彈出錯誤對話框,提示重新輸入,如果存在,在查詢窗體中顯示該學生信息。 11、4 修改 if(e.getActionCommand()=="錄入修改"){ numbers.setText(num0); String s0=num0; String s1=names.getText(); 。。。 if(m.getState()) s2="男"; 。。。 System.out.println(s0+s1+s2+s3+s4+s5); try{ sql="update 學生信息 set 姓名 = '"+s1+"' where 學號 ="+"'"+s0+"'"; stmt.executeUpdate(sql); sql="update 學生信息 set 性別 = '"+s2+"' where 學號 ="+"'"+s0+"'"; 。。。 confirmd=new Dialog(zf,"恭喜你!"); 。。。 names.setText(""); 。。。 } catch(Exception ex){ System.out.println(ex.getMessage()); } } 錄入修改后該學生的信息,如果錄入成功,彈出成功窗口。 11、5刪除 if(e.getActionCommand()=="刪除"){ numbers.setText(num0); 。。。 try{ sql="SELECT *FROM 學生信息"; rs=stmt.executeQuery(sql); while(rs.next()){ String s0=rs.getString("學號"); if(num0.equals(s0)){ sql="delete * from 學生信息 where 學號 = '"+num0+"'"; stmt.executeUpdate(sql); confirmd=new Dialog(zf,"成功了!"); 。。。 } } }catch(Exception ex){ System.out.println(ex.getMessage()); } } if(e.getActionCommand()=="取消"){ zf.dispose(); } if(e.getActionCommand()=="退出"){ System.exit(0); } if(e.getActionCommand()=="確定"){ try{ confirmd.dispose(); }catch(Exception ex){} try{ wrongd.dispose(); }catch(Exception ex){} } } 刪除選定學生的信息,如果刪除成功,彈出成功刪除窗口。 五、運行調(diào)試與分析討論 第 21 頁 六、設計體會與小結 做課設讓我對java有了新的認識,首先我接觸了很多上課見過見過但沒有實際用過的類和方法,讓我對編程有了許多新的思想。 大一學了C與C++,雖然當時學的還不錯,由于學的都是入門知識,所以自己做的都是DOS下執(zhí)行的程序,雖然可以實現(xiàn)一定的功能,但和自己平時用的軟件相差很大。這學期剛開課學java感覺沒什么新鮮感,它的跨平臺特性也只是聽聽,根本沒有認識,知道學到第七章圖形界面用戶編程的時候,我發(fā)現(xiàn)學會之后自己可以做出來的軟件就更接近平時使用的軟件了,不過由于平時學士不刻苦,到時沒有時間靜下心來寫java代碼,知道結課做課設,才靜下心來開始研究java,結合以前的編程知識,做起了自己的程序。 之所以會選學籍管理系統(tǒng),是因為上學期C++做的也是這個,做起來會比較熟練,同時想通過做課設學習一點數(shù)據(jù)庫的知識,感覺這些知識更貼近實際應用,選好之后開始準備課設,先從最簡單的主窗體,到主窗體的菜單,組件添加,再到各個功能的獨立窗體的建立,再到最后的數(shù)據(jù)庫連接,功能的實現(xiàn),一步步走來,收獲頗多。其中獨立窗體中的組件排版是碰到的第一個問題,最簡單的方法是在建每個窗體時把所有需要的組件全部重新添加進去,但是這樣代碼會很長,而卻會多占很多內(nèi)存空間,于是我決定把個功能窗體中共同的組件在一個新方法中統(tǒng)一加載,為了減小占內(nèi)存空間,組建的在主類的構造方法中生成,所有獨立功能窗口公用組件,這樣既減少了代碼額長度,又提高了程序的內(nèi)存利用率。還有很多問題,都在權衡之后得到了較優(yōu)的解決方法。它能夠使這次課設還讓我對java的跨平臺性有了進一步認識,當我學好代碼興致勃勃的想把它做成exe可執(zhí)行文件時,在網(wǎng)上搜索之后發(fā)現(xiàn)它似乎很難實現(xiàn),就是應為它的java語言的實現(xiàn)機制,通過jre來執(zhí)行執(zhí)行java代碼,而不是調(diào)用系統(tǒng)本地代碼。除此之外我還學到了新的編程技巧,比如對try,catch的運用。剛學的時候就是照書本上的打,很不情愿但是必須打的代碼,在做課設時,我發(fā)現(xiàn)他又很神奇的功能可以幫助我解決用其他辦法不好解決的問題,比如關閉窗口。剛開始程序只有主窗口時,關閉很好實現(xiàn),但隨著程序功能的完善,需要關閉的窗口越來越多,需要關閉的類型也便多了,到了關閉Dialog的時候,發(fā)現(xiàn)Dialog不能強制轉化為Frame,如果想用前面的方法管還得把多處代碼進行修改,不過我想到了用try來解決這個問題。 再次感謝老師一學期對我們的教學! 七、參考文獻 [1] 丁振凡 《Java語言使用教程》 北京郵電大學出版社 [2] 百度 [3] JavaEye 第 23 頁

注意事項

本文(JAVA課程設計學籍管理系統(tǒng)1)為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!