《java程序設(shè)計(jì)》學(xué)生管理系統(tǒng)報(bào)告
《《java程序設(shè)計(jì)》學(xué)生管理系統(tǒng)報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《《java程序設(shè)計(jì)》學(xué)生管理系統(tǒng)報(bào)告(21頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、精品文檔 好文檔 《Java程序設(shè)計(jì)》 結(jié)課報(bào)告 課程名稱 JAVA程序設(shè)計(jì) 設(shè)計(jì)題目 學(xué)生信息管理系統(tǒng) 專業(yè)班級(jí) 信科101班 學(xué) 號(hào) 09 學(xué)生姓名 XX 教 師 彭 潔 信息工程系 精品文檔 好文檔 目 錄 目 錄 II 第1章 系統(tǒng)簡(jiǎn)介 3 1.1
2、 系統(tǒng)功能 3 1.2 系統(tǒng)引用例子 3 第2章 表的設(shè)計(jì) 4 2.1 系統(tǒng)數(shù)據(jù)庫(kù)表結(jié)構(gòu) 4 第3章 連接數(shù)據(jù)庫(kù)的實(shí)現(xiàn) 5 3.1 SQL Server數(shù)據(jù)庫(kù)連接的關(guān)鍵代碼 5 第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 6 4.1 系統(tǒng)登錄模塊設(shè)計(jì) 6 4.2 系統(tǒng)主界面詳細(xì)設(shè)計(jì) 9 4.3 學(xué)生信息增刪改模塊設(shè)計(jì) 10 4.4 學(xué)生信息查詢模塊設(shè)計(jì) 12 4.5 注冊(cè)子管理員模塊設(shè)計(jì) 15 答辯記錄 20 成績(jī)考核表 20 精品文檔 好文檔 學(xué)生信息管理系統(tǒng) 第1章 系統(tǒng)簡(jiǎn)介 1.1 系統(tǒng)功能 本系統(tǒng)主要功能: 1) 通過數(shù)據(jù)校驗(yàn)如果數(shù)據(jù)校驗(yàn)成功,顯示
3、主界面; 2)登入后查詢所有學(xué)生信息; 3)窗體實(shí)現(xiàn)對(duì)學(xué)生信息的增加、刪除、修改; 4)模糊查詢,根據(jù)姓名或者一個(gè)字查詢; 5)實(shí)現(xiàn)子管理員的注冊(cè),并且寫入注冊(cè)信息到記事本,并實(shí)現(xiàn)可以用新注冊(cè)的管理賬號(hào)登入系統(tǒng)主界面 1.2 系統(tǒng)引用例子 課本P275頁 15.5和課本P386頁 21.6 第2章 表的設(shè)計(jì) 2.1 系統(tǒng)數(shù)據(jù)庫(kù)表結(jié)構(gòu) 將系統(tǒng)數(shù)據(jù)庫(kù)表結(jié)構(gòu)用表的形式畫出,如: 字段名 字段類型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名 SNO Int 10 P Not null 學(xué)生編號(hào) SNAME Varchar 20 Not null
4、學(xué)生名字 SSEX Varchar 1 Not null 學(xué)生性別 表2.1 用戶表(JBXX) SAGE Int 2 Not null 學(xué)生年齡 字段名 字段類型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名 SNO Int 10 P Not null 學(xué)生編號(hào) JNAME Varchar 20 Not null 家長(zhǎng)名字 JTEL Int 10 Not null 家庭電話 表2.2 家庭信息表(JTXX) 注冊(cè)子管理員的記事本1111.TXT內(nèi)信息如下: yyyy#yyyy linlin#
5、linlin admin1#1111 admin2#2222 admin3#3333 admin4#4444 opop#opop uuuu#uuuu bbbb#bbbb tttt#tttt 第3章 連接數(shù)據(jù)庫(kù)的實(shí)現(xiàn) 3.1 SQL Server數(shù)據(jù)庫(kù)連接的關(guān)鍵代碼 public class DButil { Connection con = null; String name = "linqun"; String passname = "linqun"; String ul1 = "jdbc:oracle:t
6、hin:@127.0.0.1:1521:orcl"; public Connection getconn() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("數(shù)據(jù)庫(kù)驅(qū)動(dòng)加載成功"); con = DriverManager.getConnection(ul1, name, passname); System.out.println("數(shù)據(jù)庫(kù)連接成功"); } catch (Exception e) { System.out.println(e); } retur
7、n con; } public void dbclose(Connection conn, Statement sta, ResultSet rs) { try { if (rs != null) rs.close(); if (conn != null) conn.close(); if (sta != null) sta.close(); } catch (Exception e) { e.printStackTrace(); }finally{ System.out.println("數(shù)據(jù)庫(kù)釋放!");} } } 第4章 系統(tǒng)詳細(xì)設(shè)計(jì)
8、 4.1 系統(tǒng)登錄模塊設(shè)計(jì) 4.1.1、運(yùn)行效果圖 圖 4.1 登錄主界面效果圖 4.1.2、主要代碼 public class login extends JDialog { static PreparedStatement SQL; private static final long serialVersionUID = 1L; private JLabel l_Id = new JLabel("登陸賬戶", JLabel.CENTER); private JLabel l_pw = new JLabel("登陸密碼", JLabel.CENTER); priv
9、ate JTextField t_Id = new JTextField(10); private JPasswordField t_pw = new JPasswordField(10); private JButton btnLogin; private JButton btnAdd; private JButton btnClose; int num = 3; public login() { super(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLo
10、cation((screenSize.width - 300) / 2,(screenSize.height - 200) / 2); this.setResizable(false); getContentPane().setBackground(new Color(225, 225, 225)); getContentPane().setLayout(null); initialize(); } protected void initialize() { setTitle("系統(tǒng)登錄"); l_Id.setBounds(48, 43, 53, 25); t_Id
11、.setBounds(110, 43, 150, 25); l_pw.setBounds(48, 93, 53, 25); t_pw.setBounds(110, 93, 150, 25); getContentPane().add(l_Id); getContentPane().add(l_pw); getContentPane().add(t_Id); getContentPane().add(t_pw); btnLogin = new JButton(); btnLogin.setText("登 錄"); btnLogin.setBounds(20, 142,
12、85, 28); btnLogin.setBackground(new Color(244, 243, 239)); btnLogin.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { addBtnLoginActionListener(); } }); getContentPane().add(btnLogin); btnAdd = new JButton(); btnAdd.setText("注冊(cè)")
13、; btnAdd.setBounds(105, 142, 85, 28); btnAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { addNew zc = new addNew(); setVisible(false); zc.setVisible(true); } }); getContentPane().add(btnAdd); btnClose = new JButton(); btnClose.setText("關(guān) 閉
14、"); btnClose.setBounds(190, 142, 85, 28); btnClose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dispose(); System.exit(-1); } }); getContentPane().add(btnClose); } private void addBtnLoginActionListener() { String id = t_Id.getText(); S
15、tring password = new String(t_pw.getPassword()); if (id.equals("")) { JOptionPane.showMessageDialog(this, "帳號(hào)不可為空", "提示", JOptionPane.WARNING_MESSAGE); return; } else if (password.equals("")) { JOptionPane.showMessageDialog(this, "密碼不可為空", "提示", JOptionPane.WARNING_MESSAGE); return; }
16、 else { tools t = new tools(); boolean success = false; // TODO:數(shù)據(jù)校驗(yàn) success = t.eqes(id, password); if (success) { // 如果數(shù)據(jù)校驗(yàn)成功 顯示主界面 JOptionPane.showMessageDialog(this, "成功登錄", "提示", JOptionPane.INFORMATION_MESSAGE); new mainView(); this.dispose(); } else { --num;
17、 if (num == 0) { JOptionPane.showMessageDialog(this, "用戶名或者密碼錯(cuò)誤!您沒有機(jī)會(huì)了"); System.exit(0); } else { JOptionPane.showMessageDialog(this, "用戶名或者密碼錯(cuò)誤!您還有" + num+ "次機(jī)會(huì)"); } } } } public Dimension getPreferredSize() { return new Dimension(320, 170); } public void sho
18、w() { Toolkit tk = Toolkit.getDefaultToolkit(); Dimension screen = tk.getScreenSize(); Dimension d = getSize(); this.setLocation((screen.width - d.width) / 2,(screen.height - d.height) / 2); // 輸入密碼后回車相當(dāng)于點(diǎn)擊了登錄按鈕 getRootPane().setDefaultButton(btnLogin); t_pw.requestFocus(); setDefaultClos
19、eOperation(DISPOSE_ON_CLOSE); setSize(300, 220); super.show(); } public static void main(String[] args) { DButil util = new DButil(); util.getconn(); login loginFrame = new login(); loginFrame.setVisible(true); } } 4.2 系統(tǒng)主界面詳細(xì)設(shè)計(jì) 4.2.1、運(yùn)行效果圖 圖 4.2 登錄后系統(tǒng)界面效果圖 4.2.2、主要代碼 publi
20、c mainView() { super(); setTitle("所有學(xué)生信息"); setBounds(350, 150, 700, 400); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); final JScrollPane scrollPane = new JScrollPane(); con = db.getconn(); Vector tableValueV, columnNameV;// 存放列名 columnNameV = new Vect
21、or(); columnNameV.add("學(xué)號(hào)"); columnNameV.add("名字"); columnNameV.add("性別"); columnNameV.add("年齡"); tableValueV = new Vector(); scrollPane.setViewportView(table); final JPanel panel = new JPanel(); getContentPane().add(panel, BorderLayout.SOUTH); panel.add(new JLabel("編號(hào):"));
22、 aTextField = new JTextField("", 5); panel.add(aTextField); panel.add(new JLabel("姓名:")); bTextField = new JTextField("", 5); panel.add(bTextField); panel.add(new JLabel("性別:")); cTextField = new JTextField("", 5); panel.add(cTextField); panel.add(new JLabel("年齡:")); dTe
23、xtField = new JTextField("", 5); panel.add(dTextField); } 4.3 學(xué)生信息增刪改模塊設(shè)計(jì) 4.3.1、增加信息(121,白娘子,M,22)后運(yùn)行效果圖如下: 圖 4.3 增加一個(gè)記錄效果圖 4.3.2、主要代碼 final JButton addButton = new JButton("添加"); addButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { userDa
24、o add = new userDaoImpl(); user u = new user(); u.setSno(Integer.parseInt(aTextField.getText())); u.setsName(bTextField.getText()); u.setSsex(cTextField.getText()); u.setSage(Integer.parseInt(dTextField.getText())); add.addUser(u); setVisible(false); new mainView(); } });
25、 panel.add(addButton); 4.3.3、刪除信息編號(hào)為120的學(xué)生信息后結(jié)果如下: 圖 4.4 刪除一個(gè)記錄效果圖 4.3.4、主要代碼: final JButton delButton = new JButton("刪除"); delButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { userDao del = new userDaoImpl(); user ud = new user(); int
26、 selectedRow = table.getSelectedRow();// 獲得被選中行的索引 if (selectedRow != -1)// 判斷是否存在被選中行 del.deleUser(Integer.parseInt(aTextField.getText())); setVisible(false); tableModel.removeRow(selectedRow); } }); panel.add(delButton); 4.3.5、修改信息(105,關(guān)美眉,F(xiàn),41)為(105,關(guān)大俠,M,30)后運(yùn)行效果圖如下:
27、 圖 4.5 修改一個(gè)記錄效果圖 4.3.6、主要代碼: panel.add(searchButton);final JButton updButton = new JButton("修改"); updButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { userDao update = new userDaoImpl(); user upe = new user(); aTextField.setEditable(false);
28、int selectedRow = table.getSelectedRow();// 獲得被選中行的索引 if (selectedRow != -1) {// 判斷是否存在被選中行 upe.setSno(Integer.parseInt(aTextField.getText())); upe.setsName(bTextField.getText()); upe.setSsex(cTextField.getText()); upe.setSage(Integer.parseInt(dTextField.getText())); update.up
29、dateUser(upe); setVisible(false); new mainView(); } } }); panel.add(updButton); 4.4 學(xué)生信息查詢模塊設(shè)計(jì) 4.4.1、運(yùn)行效果圖 圖 4.6 查詢記錄集效果圖 查詢姓趙的人信息: 圖 4.7 查詢結(jié)果圖 查詢名字帶“山”的人信息: 圖 4.8 查詢結(jié)果圖 4.4.2、主要代碼: public search() { setTitle("根據(jù)姓名查詢學(xué)生信息"); setLayout(new BorderLayout()); setDefa
30、ultCloseOperation(JFrame.EXIT_ON_CLOSE); validate(); setBounds(350, 150, 650, 400); final JPanel pane = new JPanel(); jl=new JLabel("輸入姓或者名查詢"); TextField = new JTextField("", 5); jb1 = new JButton("查詢"); jb2 = new JButton("返回"); pane.add(jl); pane.add(TextField); pane.add(jb1);
31、 pane.add(jb2); getContentPane().add(pane, BorderLayout.NORTH); jb1.addActionListener(this); jb2.addActionListener(this); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("查詢")) { JScrollPane jsp = new JScrollPane(); Vector tableValu
32、eV,columnNameV; columnNameV = new Vector(); columnNameV.add("學(xué)號(hào)"); columnNameV.add("名字"); columnNameV.add("性別"); columnNameV.add("年齡"); tableValueV = new Vector(); userDao user = new userDaoImpl(); user u = user.searchByName(TextField.getText()); Vector rowV = new Vector()
33、; rowV.add(u.getSno()); rowV.add(u.getsName()); rowV.add(u.getSsex()); rowV.add(u.getSage()); tableValueV.add(rowV); tableModel= new DefaultTableModel(tableValueV, columnNameV); table = new JTable(tableModel); jsp = new JScrollPane(table); jsp.setViewportView(table); ge
34、tContentPane().add(jsp, BorderLayout.CENTER); setVisible(true); } if (e.getActionCommand().equals("返回")) { new mainView(); } } 4.5 注冊(cè)子管理員模塊設(shè)計(jì) 4.5.1、運(yùn)行效果圖 圖 4.9 注冊(cè)子管理員效果圖 4.5.2、主要代碼: public addNew() { setDefaultCloseOperation(EXIT_ON_CLOSE); load(); this.setVisible(tr
35、ue); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((screenSize.width - 300) / 2, (screenSize.height - 200) / 2); this.setResizable(false); this.setTitle("注冊(cè)子管理員界面"); this.setVisible(true); this.addWindowListener(new WindowAdapter() {
36、public void windowClosing(WindowEvent e) { System.exit(0); } }); } public void load() { Pane = (JPanel) getContentPane(); Pane.setLayout(null); setSize(new Dimension(410, 300)); setTitle("管理員登入界面"); t1.setBounds(70, 50, 100, 30); t2.setBounds(70, 80, 100, 30); t3
37、.setBounds(70, 110, 100, 30); t4.setBounds(250, 50, 100, 30); t5.setBounds(250, 80, 100, 30); f1.setBounds(150, 50, 100, 20); f2.setBounds(150, 80, 100, 20); f3.setBounds(150, 110, 100, 20); b1.setFont(new java.awt.Font("Botton", Font.BOLD, 12)); b1.setBounds(120, 140, 60, 50);
38、 b2.setFont(new java.awt.Font("Dialog", Font.BOLD, 12)); b2.setBounds(200, 140, 60, 50); Pane.add(t1); Pane.add(t2); Pane.add(t3); Pane.add(t4); Pane.add(t5); Pane.add(f1); Pane.add(f2); Pane.add(f3); Pane.add(b1); Pane.add(b2); b1.addActionListener(this); b2
39、.addActionListener(this); } 4.5.3、當(dāng)注冊(cè)名已經(jīng)存在時(shí)效果如下: 圖 4.10 驗(yàn)證注冊(cè)界面 4.5.4、成功注冊(cè)時(shí)效果如下:(用戶名:qunqun;密碼:qunqun) 圖 4.11 注冊(cè)成功界面 4.5.5、主要代碼 public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("注冊(cè)")) { if (tools.indes(f1.getText()) && tools.indes(f2.getText())) {
40、 if (tools.eqes(f1.getText(), f2.getText())) { JOptionPane.showMessageDialog(this, "該用戶已被注冊(cè),請(qǐng)重新輸入!"); System.exit(0); } else { tools.addUser(f1.getText(), f1.getText()); JOptionPane.showMessageDialog(this, "你已經(jīng)成功注冊(cè)~"); System.exit(0); } } if (f1.ge
41、tText().equals("") || f2.getText().equals("")) { JOptionPane.showMessageDialog(this, "帳號(hào)或密碼長(zhǎng)度有誤", "提示", JOptionPane.WARNING_MESSAGE); } } if (e.getActionCommand().equals("退出")) { System.exit(0); } 4.5.6、新注冊(cè)管理員(用戶名:qunqun;密碼:qunqun)登入效果如下: 圖 4 .12 登錄界面 圖 4 .13 登錄成功
42、界面 4.5.7、主要代碼: static boolean eqes(String admin, String passwd) { boolean bool = true; try { InputStream is = new FileInputStream("1111.txt"); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String line = reader.readLine(); while (line != null) { // 如果 line
43、為空說明讀完了 String[] str = line.trim().split("#"); for (int i = 0; i < line.trim().split("#").length; i++) { if (admin.equals(str[0])) { if (passwd.equals(str[1])) { return true; } else { bool = false; } } else { bool = false; }
44、 } line = reader.readLine(); } } catch (Exception e) { e.printStackTrace(); } return bool; } static void addUser(String admin, String passwd) { File f = new File("1111.txt"); String oldStr = ""; try { FileReader fr = new FileReader(f); BufferedReader bufr
45、= new BufferedReader(fr); String line = null; while ((line = bufr.readLine()) != null) { oldStr += line+"\r\n"; } } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } String content = oldStr+admin + "#" + pas
46、swd; try { FileWriter fw=new FileWriter(f); BufferedWriter bufw = new BufferedWriter(fw); bufw.write(content); bufw.newLine(); bufw.close(); fw.close(); } catch (Exception e) { e.printStackTrace(); } } 答辯記錄 答辯日期 答辯地點(diǎn) 主要問題 答辯要點(diǎn) 成績(jī)考核表 成績(jī)?cè)u(píng)定 項(xiàng) 目 參考權(quán)重 實(shí)際權(quán)重 原始 成績(jī) 加權(quán) 成績(jī) 1、作品質(zhì)量程度(100分計(jì)) 0.4 2、報(bào)告書寫(100分計(jì)) 0.2 3、答辯(100分計(jì)) 0.4 總 成 績(jī)
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公有云業(yè)務(wù)能力和應(yīng)用場(chǎng)景課件
- 第二章教育與人發(fā)展總結(jié)課件
- 2020年各平臺(tái)品牌藍(lán)V“成長(zhǎng)”指南ppt課件
- 全能型生產(chǎn)主管資料
- 【人教版音樂】小學(xué)2二年級(jí)上冊(cè):小貓釣魚-ppt課件
- 三叉神經(jīng)痛的治療護(hù)理常識(shí)課件
- 滿分作文:家有寵物(第二課時(shí))課件
- 莫言文學(xué)小說《檀香刑》讀書分享會(huì)
- 《小毛蟲》完整ppt課件
- 五年級(jí)下冊(cè)語文第一單元語文園地人教部編版課件
- 人教新課標(biāo)版五年級(jí)下語文同步備課資料包(ppt課件)-第七組:24.金錢的魔力
- 人教版五年級(jí)數(shù)學(xué)下冊(cè)5.1旋轉(zhuǎn)ppt課件
- 精算基礎(chǔ)知識(shí)課件
- 第七章--寶石的分類及命名課件
- 詠懷八十二首課件