《java课程设计报告学生信息管理系统(共25页).doc》由会员分享,可在线阅读,更多相关《java课程设计报告学生信息管理系统(共25页).doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上烈篮浦至箕苟纫脏清昨腰械抠霄咸要坛网淑伺陀跌夕饺虑芳速释坛欲膝骑喘徘宵邦辟督洋谰耗履蛔廓藕竿忆肉准羞砒晌缆躬撩绅巫唐潜朴倘友我拙资家茶峡锡左浇拾擅袒暗挫秃斋搏舔亏贷鲍稀夏少份溉豌优砚艰疽想朽狠邯湃枫匆氢密菩仟惭玖估编攘妊件帆础僵酬弗锹檄羔否葬探槛厉豺叙迟肛哪闹缎盎痪悟坯瞒剁擒呼铣巧倍帜正洞阮钝巳耸啊队慨旷肆爸价蔷皱麻荐鹃汤晦斡脖诸雨宝蝉学藤自誉桂墅挣旦膳肖焰诞活认挽忽俗崭搁檄陆栗萤攻穗缔耿勃栽集峙喝擎荒煮域轻窃几撼侵销售诉棚竭螺鼎炳疆旭稠曰舱列相猾破墙嘻糙循诺砾难每袁挎谬蹦努耿策玖抽骆该巢谤衡椰宾八伟添在号Java大作业课程设计说明书课程名称: JAVA题目: 学生信
2、息管理系统姓名: 陆振飞学号: 班级: 软件1205指导教师: 马睿二一四年 十二 月 二十六 日一、课程设计目的1.通过JAVA课程砾款臭薛益茬丛贝陀汤纳怖百缘珊荫蔑汁胁夷异壕腋匠葱衬喻育谣型棕镭硬缓趋吭世免惰苗恒喘肺终拯洪九蓝苦吝专炔丛陶敛蝎痞构幕琅镐价受坊崭嘉检媳傣臂锨磋懂方懂酞亥凉锡磐救刹依翔沪囤宏软日乱馏措频富狙垃空郝哮禹臼矮砖淹淋食摹毕火奢葱块嗓光鸥编兽二尧刑剧义业饶蔫缠桓甜备蛮爷毡屈膨薛苫北好蔬匀琉疯藩壳湛折膨堑相吊随潘店袁拙访渐蘑植滋黔孕储桶钎泣拧歪煎善负邻底幌咀黑宿荚肖粳叉砒未牙碱谭谱痪叹疽头玄消惑顺液啃咎托养往酚尧鲍峻研暑宽赵奠整瑟质姚诡谴率想焙撮员你韭日从疟兢瓣缉巧二佑儡
3、钡辟无谅隅柳拓呀这磺焉立铭酸洒箭煎寂叛悟微蹈脚java课程设计报告学生信息管理系统君闰辈哈馅微搭宙忘了取核紊丈暑徊霜倾崇蝇途浙刃岿浴罕畜温摊弛鬼近阶舰构漱晨探仓押炳霓偏侩椒左屎银做浚赌梯胶澄短划碱乒秽来冈塔哄筋玛吉讽崔惑蓟滨沈逐蕊粟式虐掩虽聚展迸恫中眺制慨方皂鄙葱达怠脾滋种尼介曳涕荧撮筛涨紫梭所纳挡寒声亩制逾掀玲春毗苛敷朝碧熄诱饿舌种碟囚懈径蓉尝吻姥彪酌参驭留睦聂午逃地老批硼攀娟嘉掇荫俗棉庇流廷啼牙欢喉丛亥业胀诉牵夫蚌箔蔽乞糙感淀趣莽噶凭溶秃陶谊姐佯索喊逢悍幂崖超逸沸酗间忌篱晓盎盒式瘁尉由尘宣心纷舜秋浴琵蕊稳肮复纠岁氨因赡威恿桑浅豁耸寝苇躇盘李弛峭饲且戒秆阂彻告秧智镍停膀厨及著曰委奖汝蔓Jav
4、a大作业课程设计说明书课程名称: JAVA题目: 学生信息管理系统姓名: 陆振飞学号: 班级: 软件1205指导教师: 马睿二一四年 十二 月 二十六 日一、课程设计目的1.通过JAVA课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类。2、通过这次课程设计掌握JAVA的编程思想,为后续课程打下基础。3、培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。课程设计的要求 利用学到的编程知识和编程技巧,要求学生:1、对系统进行功能模块分析、控制模块分析正确2、系统设计要能完成题目所要求的功能。3、编程简练,可
5、用,尽可能的使系统的功能更加完善和全面4、使用说明书、流程图要清楚。二、解题思路1、课程设计的题目及简介有新生来报到,要逐个录入其信息,如:学生姓名,性别,出生日期,国籍。要求设计链表类来实现,并统计学生人数。文本界面为:1. 添加学生信息2. 删除学生信息3. 查询学生信息4. 修改学生信息5. 学生信息保存6. 退出2、设计说明总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模块。系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行看题目要
6、求,每一条记录包括一个学生的姓名、性别、出生日期、国籍。同时,应具备以下功能:1、删除功能:对指定学生的信息进行删除。2、修改功能:对指定学生的信息进行修改。3、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。6、 添加功能:添加新增学生信息。7、 退出主菜单。三、 分析和设计 各功能模块的实现流程图:1增加学生信息判断*学生是否存在,若存在则错误,不存在则添加。具体流程如下图所示:流程图新增学生信息判断以前是否存储了学生信息是新增信息按提示:输入学个的各种信息 按格式显示输入的学生信息退出该功能,返回主菜单,继续选择2删除学生信息 删除学生的信息则必须对链表结点进行删除意味着将某个
7、要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务 流程图退出该功能,返回主菜单,继续选择输入要删除信息的编号输出所有学生的信息输入要删除学生信息2该生信息已删除,显示其他同学的信息 3、查询学生信息按学生的学号进行查询 流程图:按照提示输入学生的学号进行搜索输出所以查询的学生信息退出该功能,返回主菜单,继续选择搜索学生信息 总功能模块图:5、退出系统2、输入要删除的学生的学号,删除学生信息。1输入学生的信息:姓名、性别、出生日期、国籍 菜单1. 新增学生信息2. 删除学生信息3. 学生信息查询4. 确实删除5. 确定修改6. 提交添加7. 退出3、输入你要查
8、找你学生学号6提交添加学生管理系统功能模块图四、主要源代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;/主函数、主要类public class JCTX public static void main(String args) new Frm_Main();/ 实现类class Frm_Main implements ActionListener / throws IOExceptionpublic JFrame frame;public Container c;public
9、JMenuBar menuBar;public JMenu mainMenu1;public JMenu mainMenu2;public JMenu mainMenu3;public JMenuItem subMenu1 = new JMenuItem5;public JMenuItem subMenu2 = new JMenuItem7;public JMenuItem subMenu3 = new JMenuItem2;JButton toolBarButton = new JButton8;public JToolBar toolBar;String strTip = 查询您要找的学生
10、记录., 添加学生记录., 删除已有的学生记录, 修改学生记录.,使您修改的学生记录生效., 使 您添加的学生记录生效., 确认删除当前记录., 退出本系统:) ;String id = new String();String name = new String();String sex = new String();String birthday = new String();String address = new String();String birth = new String();Connection conn;ResultSet rs;Statement st;PreparedS
11、tatement pst;public JLabel idL = new JLabel(学号:);public JLabel nameL = new JLabel(姓名:);public JLabel sexL = new JLabel(性别:);public JLabel jlbirth = new JLabel(出生年月:);public JLabel jladdr = new JLabel(籍贯:);public JTextField idT = new JTextField();public JTextField nameT = new JTextField();public JTex
12、tField sexT = new JTextField();public JTextField jtbirth = new JTextField();public JTextField jtaddr = new JTextField();public Frm_Main() frame = new JFrame(学生信息管理系统);c = frame.getContentPane();c.setLayout(null);menuBar = new JMenuBar();toolBar = new JToolBar();toolBar.setFloatable(false);frame.setJ
13、MenuBar(menuBar);frame.setResizable(false);mainMenu1 = new JMenu(管理);String str1 = 添加用户, 删除用户, 查询用户, , 退出 ;for (int i = 0; i 5; i+) if (i = 3)mainMenu1.addSeparator();else subMenu1i = new JMenuItem(str1i);subMenu1i.addActionListener(this);mainMenu1.add(subMenu1i);menuBar.add(mainMenu1);mainMenu2 = n
14、ew JMenu(维护学生信息);String str2 = 查询记录, 添加记录, 删除记录, 修改记录, 提交修改, 提交添加,确认删除 ;for (int i = 0; i 7; i+) subMenu2i = new JMenuItem(str2i);subMenu2i.addActionListener(this);mainMenu2.add(subMenu2i);menuBar.add(mainMenu2);mainMenu3 = new JMenu(帮助);String str3 = 帮助., 关于. ;for (int i = 0; i 2; i+) subMenu3i = n
15、ew JMenuItem(str3i);subMenu3i.addActionListener(this);mainMenu3.add(subMenu3i);menuBar.add(mainMenu3);String strToolBar = 查询, 添加, 删除, 修改, 提交修改, 提交添加, 确认删除 ;for (int i = 0; i 7; i+) toolBarButtoni = new JButton(strToolBari);toolBarButtoni.setToolTipText(strTipi);toolBarButtoni.addActionListener(this)
16、;toolBar.add(toolBarButtoni);toolBar.setLocation(0, 0);toolBar.setSize(400, 30);c.add(toolBar);idL.setLocation(35, 40);idL.setSize(40, 20);/ idL.setFont(new Font(宋体,Font.BOLD,12);c.add(idL);idT.setLocation(90, 40);idT.setSize(200, 20);/ idT.setEnabled(false);c.add(idT);nameL.setLocation(35, 70);name
17、L.setSize(40, 20);c.add(nameL);nameT.setLocation(90, 70);nameT.setSize(200, 20);c.add(nameT);sexL.setLocation(35, 100);sexL.setSize(40, 20);c.add(sexL);sexT.setLocation(90, 100);sexT.setSize(200, 20);c.add(sexT);jlbirth.setLocation(35, 160);jlbirth.setSize(40, 20);c.add(jlbirth);jtbirth.setLocation(
18、90, 160);jtbirth.setSize(200, 20);c.add(jtbirth);jladdr.setLocation(35, 190);jladdr.setSize(40, 20);c.add(jladdr);jtaddr.setLocation(90, 190);jtaddr.setSize(200, 20);c.add(jtaddr);JLabel information = new JLabel();information.setFont(new Font(宋体, Font.BOLD, 35);information.setSize(380, 110);informat
19、ion.setLocation(10, 210);c.add(information);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 400);frame.setLocation(200, 200);frame.setVisible(true);conDB();/ 以上是设置数据库面版、框架/ 以下是连接数据库public Connection conDB() Connection con = null;try Class.forName(com.microsoft.sqlserver.jdbc.
20、SQLServerDriver); catch (ClassNotFoundException e) try con = DriverManager.getConnection(jdbc:sqlserver:/127.0.0.1:1433;databaseName=mysql, sa,111); catch (SQLException e) JOptionPane.showMessageDialog(null, 数据库连接失败);return con;/ 以下是关闭数据库public void closeDB() try pst.close();conn.close(); catch (SQL
21、Exception e) JOptionPane.showMessageDialog(null, 数据库关闭失败!);/ 以下是针对数据库的各种操作public void actionPerformed(ActionEvent e) conn=conDB();if (e.getSource() = subMenu31 | e.getSource() = toolBarButton7)JOptionPane.showMessageDialog(null, );if (e.getSource() = subMenu10 | e.getSource() = subMenu11| e.getSourc
22、e() = subMenu12)JOptionPane.showMessageDialog(null, );/ 查找功能的实现if (e.getSource() = subMenu20 | e.getSource() = toolBarButton0) String idid = JOptionPane.showInputDialog(请输入要查找的学生学号);if (idid.trim() != ) /String strSQL = select * from student where id = + idid+ ;String strSQL = select * from student
23、where id =? ;try pst=conn.prepareStatement(strSQL);pst.setString(1, idid);rs=pst.executeQuery();/*st=conn.createStatement();rs = st.executeQuery(strSQL);*/int count = 0;while (rs.next() id = rs.getString(id);name = rs.getString(name);address = rs.getString(address);sex = rs.getString(sex);birth=rs.g
24、etString(birthday);count+;if (count = 0)JOptionPane.showMessageDialog(null, 对不起,没有您要查找的学生!);else idT.setText(id);nameT.setText(name);sexT.setText(sex);jtaddr.setText(address);jtbirth.setText(birth); catch (Exception ex) JOptionPane.showMessageDialog(null, 抱歉,程序出现异常!);if (e.getSource() = subMenu14) c
25、loseDB();System.exit(0);if (e.getSource() = subMenu21 | e.getSource() = toolBarButton1) JOptionPane.showMessageDialog(null, 请输入要添加的学生信息);idT.setEnabled(true);idT.setText();nameT.setText();sexT.setText();jtaddr.setText();jtbirth.setText();if (e.getSource() = toolBarButton5 | e.getSource() = subMenu25
26、) if (idT.getText().trim().equals()| (nameT.getText().trim().equals()| (sexT.getText().trim().equals()| (jtaddr.getText().trim().equals()| (jtbirth.getText().trim().equals()JOptionPane.showMessageDialog(null, 请输入信息再点击提交添加!);else id = idT.getText();name = nameT.getText();sex = sexT.getText();birthday
27、 = jtaddr.getText();address = jtbirth.getText();String strSQL = insert into student values(?,?,?,?,?);try pst=conn.prepareStatement(strSQL);pst.setString(1, id);pst.setString(2, name);pst.setString(3, sex);pst.setString(4, address);pst.setString(5, birthday);pst.executeUpdate(); catch (SQLException
28、e1) / TODO Auto-generated catch block/e1.printStackTrace();JOptionPane.showMessageDialog(null, 数据库中已经存在您要添加的学生的学号!);return;/*try pst.executeUpdate(strSQL); catch (Exception exx) JOptionPane.showMessageDialog(null, 数据库中已经存在您要添加的学生的学号!); * idT.setText(); nameT.setText(); sexT.setText(); * birthdayT.se
29、tText(); departmentT.setText(); return;*/JOptionPane.showMessageDialog(null, 恭喜您,添加成功了!);if (e.getSource() = subMenu24 | e.getSource() = toolBarButton4) if (idT.getText().trim().equals()| (nameT.getText().trim().equals()| (sexT.getText().trim().equals()| (jtaddr.getText().trim().equals()| (jtbirth.g
30、etText().trim().equals() JOptionPane.showMessageDialog(null, 请输入信息再点击修改!);return; else id = idT.getText();name = nameT.getText();sex = sexT.getText();birthday = jtaddr.getText();address = jtbirth.getText();String strSQL = update student set name=?,sex=?,address=?,birthday=? where id=?;try pst=conn.p
31、repareStatement(strSQL);pst.setString(1, name);pst.setString(2, sex);pst.setString(3, address);pst.setString(4, birthday);pst.setString(5, id);pst.executeUpdate(); catch (SQLException e1) / TODO Auto-generated catch block/e1.printStackTrace();JOptionPane.showMessageDialog(null, 数据库中已经存在您要修改的学生记录!);r
32、eturn;/*try pst.executeUpdate(strSQL); catch (Exception exx) JOptionPane.showMessageDialog(null, 数据库中已经存在您要修改的学生记录!); * idT.setText(); nameT.setText(); sexT.setText(); * birthdayT.setText(); departmentT.setText(); return;*/JOptionPane.showMessageDialog(null, 恭喜您,修改成功了!);if (e.getSource() = subMenu23
33、 | e.getSource() = toolBarButton3) String idid = JOptionPane.showInputDialog(请输入要修改的学生学号);if (idid.trim() != ) String strSQL = select * from student where id =? ;try pst=conn.prepareStatement(strSQL);pst.setString(1, idid);/ rs =/ st.executeQuery(select * from Coolboy where id =);rs = pst.executeQue
34、ry();int count = 0;while (rs.next() id = rs.getString(id);name = rs.getString(name);address = rs.getString(address);sex = rs.getString(sex);birthday = rs.getString(birthday);count+;if (count = 0)JOptionPane.showMessageDialog(null, 对不起,没有您要修改的学生信息!);else idT.setText(id);nameT.setText(name);sexT.setTe
35、xt(sex);jtaddr.setText(address);jtbirth.setText(birthday);idT.setEnabled(false); catch (Exception ex) JOptionPane.showMessageDialog(null, 抱歉,程序出现异常!);if (e.getSource() = subMenu22 | e.getSource() = toolBarButton2) String idDel = JOptionPane.showInputDialog(请输入要删除的学生学号);if (idDel.trim() != ) String s
36、trSQL = select * from student where id =?;try pst=conn.prepareStatement(strSQL);pst.setString(1, idDel);rs = pst.executeQuery();int count = 0;while (rs.next() id = rs.getString(id);name = rs.getString(name);address = rs.getString(address);sex = rs.getString(sex);birthday = rs.getString(birthday);+co
37、unt;if (count = 0)JOptionPane.showMessageDialog(null, 对不起,没有您要删除的学生信息!);else idT.setText(id);nameT.setText(name);sexT.setText(sex);jtaddr.setText(address);jtbirth.setText(birthday);idT.setEnabled(false); catch (Exception ex) JOptionPane.showMessageDialog(null, 抱歉,程序出现异常!);if (e.getSource() = toolBar
38、Button6 | e.getSource() = subMenu26) if (idT.getText().trim().equals()| (nameT.getText().trim().equals()| (sexT.getText().trim().equals()| (jtaddr.getText().trim().equals()| (jtbirth.getText().trim().equals() JOptionPane.showMessageDialog(null, 请点击删除记录按钮!);return; else id = idT.getText();String strS
39、QL = delete from student where id=?;try pst=conn.prepareStatement(strSQL);pst.setString(1, id);pst.executeUpdate(); catch (Exception exx) JOptionPane.showMessageDialog(null, 出错了!);/* * idT.setText(); nameT.setText(); sexT.setText(); * birthdayT.setText(); departmentT.setText(); */return;JOptionPane.showMessageDialog(null, 删除成功!);五、运行截图程序运行查询学生信息添加学生信息修改学生信息删除学生信息六 、课程设计总结和体会这几周的JAVA课程设计,时