java課程設(shè)計 學(xué)生學(xué)籍管理系統(tǒng)
《java課程設(shè)計 學(xué)生學(xué)籍管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《java課程設(shè)計 學(xué)生學(xué)籍管理系統(tǒng)(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 一、課設(shè)任務(wù)及要求 課設(shè)任務(wù): 設(shè)計基于數(shù)據(jù)庫的學(xué)籍管理系統(tǒng) 設(shè)計要求: 1管理員錄入學(xué)生基本信息的功能 2管理員修改學(xué)生基本信息的功能 3按不同類別查詢學(xué)生基本信息的功能 4管理員刪除學(xué)生基本信息的功能 5利用不同的用戶名登陸實現(xiàn)權(quán)限操作的功能 6 實現(xiàn)登陸用戶的注冊 7 學(xué)生個人修改自己的基本信息的功能 8 學(xué)生通過SQL語句查詢基本信息的功能 9 打印 10退出 二、需求分析 在開發(fā)學(xué)生學(xué)籍管理系統(tǒng)之前,首先要知道所要開發(fā)的系統(tǒng)要實現(xiàn)那些功能,是針對學(xué)生的系統(tǒng)還是針對管理員的系統(tǒng),并且要清楚不同級別的用戶具有什么樣的功能,實現(xiàn)
2、什么樣的界面。當(dāng)明確了這些,項目開發(fā)的思路就清晰了,然后再對網(wǎng)絡(luò)上別的學(xué)生學(xué)籍管理系統(tǒng)進行考察、分析,從中吸取經(jīng)驗,并結(jié)合本系統(tǒng)的要求以及實際的管理情況,設(shè)計出一個合理的學(xué)生學(xué)籍管理系統(tǒng)。本系統(tǒng)需要如下: ? 系統(tǒng)設(shè)計界面要求整潔,美觀大方,能夠展現(xiàn)各個功能。 ? 系統(tǒng)首頁具有banner界面,起到耳目一新的印象。 ? 設(shè)計主要是面向管理員和學(xué)生,為他們解決查詢,修改,刪除等操作問題。 ? 系統(tǒng)運行穩(wěn)定,安全可靠。 ? 要求對學(xué)生基本信息進行嚴格管理。 2.1開發(fā)環(huán)境 在開發(fā)學(xué)生學(xué)籍管理系統(tǒng)時,該項目使用的軟件開發(fā)環(huán)境如下: ? 操作系統(tǒng):Windown XP ? 數(shù)據(jù)庫:S
3、QL Server2005 ? 開發(fā)工具:Myeclipse 三、系統(tǒng)功能結(jié)構(gòu) 學(xué)生學(xué)籍管理系統(tǒng)功能結(jié)構(gòu): 學(xué)生學(xué)籍管理系統(tǒng) 管理員 學(xué)生 查詢基本信息 詢 基 本 信 息 修改基本信息 刪除基本信息 打印 錄入基本信息 退出 SQL語句查詢 查詢個人信息 注冊 四、設(shè)計思路 為了能夠清晰的學(xué)習(xí),下面給出學(xué)生學(xué)籍管理系統(tǒng)的系統(tǒng)流程圖: 五、詳細設(shè)計 本系統(tǒng)主要是按不同的功能而設(shè)計的類,每個類都實現(xiàn)不同的功能,也存在著不同類之間的調(diào)用,不要調(diào)用如下: if(e.getSou
4、rce()==query){ Find find=new Find(); find.setVisible(true); this.setVisible(false); } if(e.getSource()==exit){ System.exit(0); } if(e.getSource()==insert){ Insert insert = new Insert(); insert.setVisible(true); this.setVisible(false); }
5、 if(e.getSource()==insertcource){ Insertcource insertcource = new Insertcource(); insertcource.setVisible(true); this.setVisible(false); } if(e.getSource()==delete){ Delete delete = new Delete(); delete.setVisible(true); this.setVisible(false); } if(e.getSource(
6、)==deletecource){ Deletecource deletecource = new Deletecource(); deletecource.setVisible(true); this.setVisible(false); } if(e.getSource()==update){ Update update = new Update(); update.setVisible(true); this.setVisible(false); } if(e.getSource()==print){ p=g
7、etToolkit().getPrintJob(this, "OK", null); g=p.getGraphics(); g.translate(120, 200); jt.paintAll(g); g.dispose(); p.end(); } if(e.getSource()==hp){ JOptionPane.showMessageDialog(this,"月上飛鳶制作,謝謝!","幫助",JOptionPane.PLAIN_MESSAGE); } } 數(shù)據(jù)庫的連接主要是通過JDBC來連接的,如下所示:
8、 String sql ="select * from Student "; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection("jdbc:odbc:selection"); Statement stmt = con.createStatement(); ResultSet rs=stmt.executeQuery(sql); ResultSetMetaData rsmd = rs.getMeta
9、Data(); int numberOfColumns=rsmd.getColumnCount(); while(rs.next()) { Vector newRow=new Vector(); int n=1; while(n<=numberOfColumns) { newRow.addElement(rs.getString(n)); n++; } model.addRow(newRow); } rs.close(); stmt.close(); } catch(Exception e) {
10、 e.printStackTrace(); } 查詢學(xué)生基本信息功能的代碼如下: public class Find extends JFrame implements ActionListener{ private JLabel jl; private JTextField jtf; private JButton jb1; private DefaultTableModel model; private JTable jt; private JComboBox jcb; private String[] columnName
11、s = {"學(xué)號","姓名","性別","專業(yè)","年級","年齡","宿舍","電話"}; private int row ; private String[] boxstr = {"學(xué)號","姓名","性別","專業(yè)","年級","年齡","宿舍"}; Adminmain parents1 = new Adminmain(); public Find(){ super("查詢學(xué)生信息"); this.setSize(460,400); this.setLocation(350,250); Container
12、c = this.getContentPane(); c.setLayout(new FlowLayout()); jl = new JLabel("請輸入關(guān)鍵詞及選擇類型"); this.add(jl); jtf = new JTextField(15); this.add(jtf); jcb = new JComboBox(boxstr); this.add(jcb); jb1 = new JButton("查詢"); jb1.addActionLi
13、stener(this); this.add(jb1); model = new DefaultTableModel(columnNames,row); jt = new JTable(model); this.add(jt); JScrollPane tablePane = new JScrollPane(jt); c.add(tablePane); jt.setEnabled(false); this.setVisible(true); parents1.setVi
14、sible(false); this.setResizable(false); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent event) { shutdown(); } }); public static void main(String[] args) { new Find(); } public void shutdown(){ pa
15、rents1.setVisible(true); this.dispose(); } public void actionPerformed(ActionEvent arg0) { String sql =" select * from Student where "+ jcb.getSelectedItem()+ "= '"+ jtf.getText() +"' "; try { Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFou
16、ndException ce) { System.out.println("SOLException:"+ ce.getMessage()); } try { Connection con = DriverManager.getConnection("jdbc:odbc:selection"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sq
17、l); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns=rsmd.getColumnCount(); while (rs.next()) { Vector newRow=new Vector(); int c=1; while(c<=numberOfColumns) {
18、 newRow.addElement(rs.getString(c)); c++; } model.addRow(newRow); } this.repaint(); jtf.setText(""); rs.close(); stmt.close(); } catch(SQLException e)
19、 { System.out.println("SQLException:" + e.getMessage()); } } } 其他的各個不同功能的實現(xiàn)這就不一一列舉,基本上原理都是差不多的。只是SQL語句不同罷了。六、運行調(diào)試與分析討論 ? 首先進入登陸窗口,用用戶名為admin,密碼為admin登陸進入管理員頁面如下: ? 從菜單欄中選擇查詢學(xué)生信息,進入查詢頁面,你可以從下拉選項中選擇查詢類別,然后點擊查詢,如下所示: ? 從菜單欄中選擇修改學(xué)生信息,進入修改頁面,首先根據(jù)
20、你修改的學(xué)號而進入此學(xué)生的詳細信息頁面中,你可以直接修改此人的信息,然后點擊確定,修改后的信息制動保存在數(shù)據(jù)庫中,如下所示: ? 從菜單欄中選擇刪除學(xué)生信息,進入刪除頁面,從下拉選項中你按什么類型刪除學(xué)生,輸入正確則返回刪除成功!如下所示: ? 從菜單欄中選擇添加學(xué)生信息,進入添加頁面,按著要求認真填寫學(xué)生信息,如果填寫錯誤將會返回錯誤提示,之后按下添加,則自動添加到數(shù)據(jù)庫中去,如下所示: ? 從菜單欄中選擇打印學(xué)生信息,進入打印頁面,如下所示: 2 在登陸窗口中單擊注冊,進入注冊頁面,在這里注冊你登陸的用戶名和密碼,但是用戶名必須是學(xué)號,而且在學(xué)生信息數(shù)據(jù)庫中才可
21、以注冊,否則返回失敗,如下所示: 2 在登陸窗口中,用你注冊的用戶名和密碼登陸,將會進入學(xué)生頁面,學(xué)生可以完善自己的基本信息,還可以瀏覽自己的信息,以及在SQL里面輸入語句,可以實現(xiàn)各種操作,如下所示: 2 到此學(xué)生學(xué)籍管理系統(tǒng)的基本功能都是說明,具體的功能有你自己來操作! 七、設(shè)計體會與小結(jié) 這次JAVA課程設(shè)計是我親自獨立做出來的,中間遇到很多的問題,我就通過書籍和從網(wǎng)上收集資料,一開始是看別人做的程序,然后自己試著寫寫,結(jié)果就是一點一點的寫完了,雖然功能不是很齊全,但是我已經(jīng)盡里去寫了,把我這學(xué)期學(xué)到的全部都用了上去! 在開發(fā)的過
22、程當(dāng)中遇到函數(shù)的調(diào)用,感覺自己對這方面很陌生,不知道調(diào)用的過程和原理,所以就大量的看別人的程序,為此,我買了JAVA項目開發(fā)全稱實錄來學(xué)習(xí)別人的思想和具體的過程! 通過此次課程設(shè)計,將我本學(xué)期所學(xué)的JAVA知識得到鞏固和應(yīng)用,在設(shè)計的過程中我遇到了很到問題,不過在老師和同學(xué)們的幫助和自己的思考下還是很好的完成了。這此課程設(shè)計還讓我懂得了寫程序不能閉門造車,要努力拓寬知識面,開闊視野,拓展思維。它還讓我學(xué)會了在網(wǎng)上查閱那些無限的資料。 八、參考文獻 (1)耿祥文 .張躍平 《JAVA2教程》 清華大學(xué)出版社 (2)張仿彥 .《JAVA項目開發(fā)全程實錄》清華大學(xué)出版社 (4)Harvey M.Deitel 和 Paul J.Deitel 《java 2程序設(shè)計教程》機械工業(yè)出版社
- 溫馨提示:
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)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物業(yè)管理制度:常見突發(fā)緊急事件應(yīng)急處置程序和方法
- 某物業(yè)公司冬季除雪工作應(yīng)急預(yù)案范文
- 物業(yè)管理制度:小區(qū)日常巡查工作規(guī)程
- 物業(yè)管理制度:設(shè)備設(shè)施故障應(yīng)急預(yù)案
- 某物業(yè)公司小區(qū)地下停車場管理制度
- 某物業(yè)公司巡查、檢查工作內(nèi)容、方法和要求
- 物業(yè)管理制度:安全防范十大應(yīng)急處理預(yù)案
- 物業(yè)公司巡查、檢查工作內(nèi)容、方法和要求
- 某物業(yè)公司保潔部門領(lǐng)班總結(jié)
- 某公司安全生產(chǎn)舉報獎勵制度
- 物業(yè)管理:火情火災(zāi)應(yīng)急預(yù)案
- 某物業(yè)安保崗位職責(zé)
- 物業(yè)管理制度:節(jié)前工作重點總結(jié)
- 物業(yè)管理:某小區(qū)消防演習(xí)方案
- 某物業(yè)公司客服部工作職責(zé)