《学生信息管理系统(完整代码、数据库、图片).doc》由会员分享,可在线阅读,更多相关《学生信息管理系统(完整代码、数据库、图片).doc(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java应用开发课程设计报告题 目: 学生信息管理系统 指导老师: * 姓 名: * 专 业: 计算机科学与技术 班 级: 10级1班 日 期: 2012年6月 目 录一、系统总体设计1(一)设计目标及完成功能1(二)系统流程图2二、详细设计3(二) 系统设计7(三) 源代码及技术10三、使用与测试20四、数据库设计21总结(体会)22参考文献23Java应用开发课程设计报告一、系统总体设计(一)设计目标及完成功能1、设计目标学生信息管理系统是学校的一项重要数据资源,因而学生信息管理必然成为学校的一项常规性的重要工作。加强学生信息管理在单纯依靠以手工管理的方法,不仅需要耗用大量的人力、物力、财
2、力,而且由于人工管理存在着大量的不可控因素,造成了信息管理的某些不规范,工作效率低,难以达到预期的目的.为提高工作效率、保证学校能够及时准确了解各学生的各种信息及学生总体信息,开发学生信息管理系统。2、完成功能完成学生信息的基本管理。本系统分为管理员和学生管理两部分.管理员管理项目如下:添加学生信息、修改学生信息、查询学生信息、删除学生信息;学生管理项目如下:添加学生信息、查询学生信息。(二)系统流程图登陆登陆角色学生管理员添加学生信息查询学生信息修改学生信息查询学生信息删除学生信息添加学生信息开始退出管理系统菜单操作菜单操作二、详细设计图21 登陆界面1图22 登陆界面2图23 系统主界面图
3、2-4 添加学生信息界面图2-5 修改学生信息界面图26 查询学生信息界面图27 删除学生信息界面图28 系统信息界面图2-9 我的信息界面 (二) 系统设计1、系统结构图学生信息管理系统学生登陆管理员登陆添加学生信息查询学生信息添加学生信息修改学生信息查询学生信息删除学生信息2、类及功能列表序号类名方法类功能说明方法名功能1FirstFirst()构造方法,构造界面并注册事件美观效果2LoginactionPerformed(actionEvent e)处理“登陆”按钮的事件实现登陆功能 Connctsql()连接数据库3MenuactionPerformed(actionEvent e)处
4、理菜单按钮的事件主界面,实现管理员操作功能Menu()构造方法,构造界面及注册事件4addFormConnctsql()连接数据库管理员添加学生信息actionPerformed(ActionEvent e)处理按钮事件5modifyFormConnctsql()连接数据库管理员修改学习actionPerformed(ActionEvent ae)处理按钮事件6SerchConnctsql()连接数据库管理员查询学生信息actionPerformed(ActionEvent e)处理按钮事件7deleteFormConnctsql()连接数据库管理员删除学生信息actionPerformed(
5、ActionEvent ae)处理按钮事件8Menu2actionPerformed(actionEvent e)处理菜单按钮的事件主界面,实现学生操作功能Menu2()构造方法,构造界面及注册事件9addForm2Connctsql()连接数据库学生添加学生信息actionPerformed(ActionEvent e)处理按钮事件10Serch2Connctsql()连接数据库学生查询学生信息actionPerformed(ActionEvent e)处理按钮事件11AboutmeAboutme()构造方法,构造界面帮助窗口,关于我12AboutSystemAboutSystem()构造方
6、法,构造界面帮助窗口,关于系统 (三) 源代码及技术1、所有代码 数据库将以下图片以上图名称存入images文件夹目录下。要自己将各代码新建为.java格式文件,放在与images文件夹同目录下.并将数据库附加到sqlserver2005,再不需要任何改动方可运行。登陆界面1import java.io.*;import java。awt。*;import javax。swing.;import java。awt.event。*;class First extends JFrame implements MouseListenerprivate JPanel panel=(JPanel)get
7、ContentPane();private JPanel panel2=new JPanel();JLabel l1; public First() super(”学生信息管理系统”); ImageIcon background= new ImageIcon(imagesLogin。jpg”);/整个背景图片 JLabel L=new JLabel(background); L。setBounds(0,0,500,400);/取整张图片 panel.setOpaque(false); panel2。setOpaque(false); ImageIcon button= new ImageIco
8、n(imagesT20。jpg”); l1=new JLabel(button); panel2.add(l1); panel.add(panel2); panel.setLayout(null); panel。add(L); panel2。setBounds(118,258,300,100); /设置监听器 l1.addMouseListener(this); getLayeredPane().setLayout(null); getLayeredPane().add(L, new Integer(Integer。MIN_VALUE); setSize(500,400); setVisibl
9、e(true); setResizable(false); setLocation(450,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void mouseClicked(MouseEvent e) if(JLabel)e.getSource()=l1) this.dispose(); Login d=new Login(); public void mouseExited(MouseEvent e) if((JLabel)e。getSource()=l1) l1。setBackground(Color。BLACK)
10、; public void mouseEntered(MouseEvent e) if(JLabel)e。getSource()=l1) l1。setForeground(Color。BLUE); public void mouseReleased(MouseEvent e) public void mousePressed(MouseEvent e) public static void main(String args) First f=new First();登陆界面2import java。io。*;import java。sql。*;import java.awt.;import j
11、avax。swing。;import java。awt.event。*;public class Login extends JFrame implements ActionListener Connection conn;/定义连接对象 Statement stmt;/语句 ResultSet rst;/结果集 private JLabel lb1 = new JLabel(”帐号:); private JLabel lb2 = new JLabel(口令:”); private JLabel lb3 = new JLabel(”学生信息管理系统”); private JLabel lb4=
12、new JLabel(请选择登陆角色”); private TextField t1 = new TextField(15); private TextField t2 = new TextField(15); private JButton b1=new JButton(登 陆); private JButton b2=new JButton(”取 消”); private JComboBox user1=new JComboBox(); private JPanel p1=(JPanel)getContentPane(); private JPanel p2=new JPanel(); p
13、rivate JPanel p3=new JPanel(); private JPanel p4=new JPanel(); private JPanel p5=new JPanel(); public Login() setTitle(学生信息管理系统”); setVisible(true); setResizable(false); setLayout(null); user1.addItem(”管理员”); user1。addItem(学生); user1.setFont(new Font(华文行楷”,Font。BOLD,14)); lb1。setFont(new Font(”华文行楷”
14、,Font.BOLD,14); lb2.setFont(new Font(华文行楷”,Font.BOLD,14); lb3。setFont(new Font(华文行楷”,Font。BOLD,35)); lb4.setFont(new Font(华文行楷,Font.BOLD,14)); ImageIcon background= new ImageIcon(”imagesLogin2。jpg”); JLabel L=new JLabel(background); L。setBounds(0, 0,500,400); p2。add(lb3);p5.add(lb4);p5。add(user1);p3
15、。add(lb1);p3.add(t1);p3。add(lb2);p3。add(t2);p4。add(b1); p4.add(b2); p1。setOpaque(false); p2。setOpaque(false); p3.setOpaque(false); p4.setOpaque(false); p5。setOpaque(false); t2.setEchoChar(*);p1。setLayout(null);p1.add(L); /存放背景图片p2。setBounds(90,44,350,100); p3。setBounds(155,160,210,60); p5。setBounds(
16、132,100,250,40); p4。setBounds(150,250,300,100); /将所有panel加到panel1上 p1.add(p2);p1。add(p3);p1。add(p4);p1。add(p5); /可视 位置 getLayeredPane()。setLayout(null); getLayeredPane().add(L, new Integer(Integer.MIN_VALUE); setSize(500,400); setLocation(450,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /设置
17、监听器 b1。addActionListener(this); b2。addActionListener(this); public void actionPerformed(ActionEvent e)if((JButton)e。getSource()=b1) if(user1.getSelectedItem().equals(”管理员”) tryConnctsql(); stmt=conn。createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR_UPDATABLE); rst = stmt.executeQuery(
18、”SELECT * FROM usertable where id=”+ t1。getText()。trim() +”); if(rst.next())if(rst.getString(1).trim()。equals(t2.getText()。trim()&! rst.getString(1).trim()。equals(”)) this.dispose(); Menu m=new Menu();else if(!rst.getString(1)。trim().equals(t2。getText().trim()&!rst。getString(1).trim()。equals(”))JOpt
19、ionPane。showMessageDialog(null,密码异常!”,”温馨提 示!,JOptionPane。INFORMATION_MESSAGE,null); else if(!rst.next()) JOptionPane.showMessageDialog(null,不存在此用户!,”温馨提示!”,JOptionPane.INFORMATION_MESSAGE,null); if(t1。getText()。equals()) JOptionPane.showMessageDialog(null,请输入账号!”,”温馨提示!”,JOptionPane。INFORMATION_MES
20、SAGE,null); catch(Exception err) System.out。println(err); else if(user1。getSelectedItem()。equals(学生)) tryConnctsql();stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet。CONCUR_UPDATABLE);/结果集可滚动,可更新if(t1。getText()。equals(”)JOptionPane.showMessageDialog(null,请输入您的学号!,”温馨提示!,JOptionP
21、ane。INFORMATION_MESSAGE,null); rst = stmt。executeQuery(SELECT * FROM stuuser where 学号=”+ t1.getText()。trim() +”);/将输入的账号与stuuser表比对 while(rst。next())if(rst。getString(1).trim().equals(t2.getText().trim() new Menu2();dispose(); else JOptionPane.showMessageDialog(null,”密码异常!,”温馨提示!”,JOptionPane。INFORMA
22、TION_MESSAGE,null); t1。setText(null);/清空账号 t2。setText(null); /清空密码 catch(Exception err) System.out。println(err); else if(JButton)e。getSource()=b2)this。dispose();/关闭窗体private void Connctsql()/连接数据库的函数 tryClass。forName(com。microsoft。sqlserver。jdbc。SQLServerDriver”);conn=DriverManager。getConnection(”jd
23、bc:sqlserver:/localhost:1433; DatabaseName=student”,”sa”,123456789”);/连接student数据库 catch(Exception e) System.out。println(e); public static void main(String args) Login l=new Login(); 系统主界面import java.awt。*;import java.sql。;import javax。swing。*;import java.awt.event.;public class Menu extends JFramep
24、rivate JPanel p1=(JPanel)getContentPane(); private JMenuBar jmb=new JMenuBar(); private JMenu fileMenu,Denglu,help; private JMenuItemlogout,exit,add,revise,look,delet,aboutsystem,aboutus; Connection con; Statement sql; ResultSet rs; public Menu() setTitle(”学生信息管理系统); /设置背景图案ImageIconbackground=new I
25、mageIcon(”imagesxitong。jpg); JLabel L=new JLabel(background); L。setBounds(0, 0,800,600); p1。setOpaque(false); p1。setLayout(null); p1.add(L); getLayeredPane().setLayout(null);getLayeredPane()。add(L, new Integer(Integer。MIN_VALUE); setJMenuBar(jmb); fileMenu=new JMenu(菜单”); Denglu=new JMenu(”登陆管理”); h
26、elp=new JMenu(帮助); jmb。add(fileMenu); jmb。add(Denglu); jmb.add(help); Denglu。add(logout=new JMenuItem(”注销); Denglu。add(exit=new JMenuItem(退出”); fileMenu.add(add=new JMenuItem(”添加学生信息”)); fileMenu。add(revise=new JMenuItem(”修改学生信息”); fileMenu.add(look=new JMenuItem(”查询学生信息”)); fileMenu。add(delet=new J
27、MenuItem(”删除学生信息); help。add(aboutsystem=new JMenuItem(关于系统”); help。add(aboutus=new JMenuItem(”关于我们)); logout。addActionListener(new ML(); exit。addActionListener(new ML()); add。addActionListener(new ML(); revise.addActionListener(new ML()); look.addActionListener(new ML()); delet.addActionListener(new
28、 ML()); aboutsystem。addActionListener(new ML()); aboutus。addActionListener(new ML());setSize(800,600); setVisible(true);setResizable(false);setLocation(300,100); setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE); public class ML implements ActionListener public void actionPerformed(ActionEvent e) Strin
29、g m=e。getActionCommand(); if(m。equals(退出)) System。exit(0); if(m。equals(”注销”) dispose();new Login(); if(m。equals(添加学生信息) dispose();new addForm(); if(m。equals(”修改学生信息”)) dispose();new modifyForm(); if(m。equals(”查询学生信息”)) dispose();new Serch(); if(m。equals(删除学生信息))dispose();new deleteForm(); if(m。equal
30、s(”关于系统))new AboutSystem(); if(m。equals(关于我们”))new Aboutme();添加学生界面import java。sql。;import java。awt.*;import javax。swing。;import java.awt.event。*;import javax。swing。table。DefaultTableModel;public class addForm extends JFrame implements ActionListener JLabel label1 = new JLabel(添加学生信息”,JLabel。CENTER)
31、; JLabel labxuehao=new JLabel(学号:”,JLabel。CENTER); JLabel labyear=new JLabel(”年龄:”,JLabel.CENTER); JLabel labName=new JLabel(”姓名:,JLabel。CENTER); JLabel labDate=new JLabel(”出生日期:,JLabel.CENTER); JLabel labclass=new JLabel(”班级:”,JLabel。CENTER); JLabel labzy=new JLabel(专业:”,JLabel.CENTER); JLabel labm
32、z=new JLabel(”院系:”,JLabel.CENTER); JLabel labsex = new JLabel(”性别:”,JLabel。CENTER); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtXueHao=new JTextField(20); JTextField txtYear=new JTextField(20); JTextField txtClass=new JTextField(20); JTextField txtZY=n
33、ew JTextField(20); JTextField txtYX=new JTextField(20); ButtonGroup bgp = new ButtonGroup(); JRadioButton man = new JRadioButton(男”); JRadioButton women = new JRadioButton(”女); JButton btnAdd=new JButton(”添加); JButton btnCancel=new JButton(”返回”); JButton btnReset = new JButton(”重置); JPanel jpl=new J
34、Panel(); /创建面板对象 Connection conn;Statement stmt;ResultSet rst; addForm() super(”添加学生信息);this.setResizable(false);this.setSize(550,450);this.setVisible(true);this.setLocation(400,200);this。setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);this。add(jpl);jpl。setLayout(null);btnAdd。addActionListener(this);
35、btnReset。addActionListener(this);btnCancel。addActionListener(this);jpl。setBackground(Color。cyan);man.setBackground(Color。cyan);women.setBackground(Color。cyan);label1.setBounds(100,20,300,20);jpl。add(label1);labxuehao.setBounds(100,50,70,20);jpl。add(labxuehao);txtXueHao.setBounds(190,50,140,20);jpl。a
36、dd(txtXueHao);labName。setBounds(100,90,70,20);jpl。add(labName);txtName。setBounds(190,90,140,20);jpl.add(txtName);labsex。setBounds(110,130,60,20);jpl.add(labsex);man。setBounds(190,130,60,20);women。setBounds(270,130,60,20);jpl.add(man);jpl.add(women);bgp.add(man);bgp。add(women);labyear。setBounds(100,1
37、80,70,20);jpl。add(labyear);txtYear。setBounds(190,180,140,20);jpl.add(txtYear);labDate。setBounds(100,210,70,20);jpl.add(labDate);txtDate。setBounds(190,210,140,20);jpl.add(txtDate);labmz。setBounds(100,240,70,20);jpl.add(labmz);txtYX.setBounds(190,240,140,20);jpl.add(txtYX);labclass。setBounds(100,270,7
38、0,20);jpl。add(labclass);txtClass。setBounds(190,270,140,20);jpl。add(txtClass);labzy。setBounds(100,300,70,20);jpl.add(labzy);txtZY。setBounds(190,300,140,20);jpl。add(txtZY);btnReset.setBounds(80,350,90,20);btnAdd。setBounds(200,350,90,20);btnCancel.setBounds(320,350,90,20);jpl。add(btnReset);jpl。add(btnA
39、dd);jpl。add(btnCancel); public void actionPerformed(ActionEvent e) if(e。getSource()=btnCancel) dispose(); new Menu();if(e。getSource()=btnAdd)if (txtXueHao.getText()。toString()。equals(”))JOptionPane。showMessageDialog(null, ”请输入学号”, ”温馨提示, JOptionPane。INFORMATION_MESSAGE);else if (txtName.getText()。to
40、String()。equals()JOptionPane。showMessageDialog(null, ”请输入姓名”, 温馨提示”, JOptionPane.INFORMATION_MESSAGE);else if (txtYear。getText()。toString()。equals(”))JOptionPane.showMessageDialog(null, 请输入年龄, ”温馨提示”, JOptionPane。INFORMATION_MESSAGE);else if (txtDate.getText()。toString()。equals(”)JOptionPane。showMes
41、sageDialog(null, ”出生日期”, ”温馨提示, JOptionPane.INFORMATION_MESSAGE);else if (txtZY。getText()。toString()。equals(”))JOptionPane.showMessageDialog(null, ”请输入专业”, ”温馨提示”, JOptionPane.INFORMATION_MESSAGE);else if (txtYX。getText().toString()。equals(”)JOptionPane。showMessageDialog(null, ”请输入院系”, ”温馨提示, JOptionPane。INFORMATION_MESSAGE);else if (txtClass。getText()。