JAVASQL学生学籍管理系统代码及实验报告解读.pdf

上传人:tbuqq 文档编号:4934024 上传时间:2020-01-15 格式:PDF 页数:60 大小:1.08MB
返回 下载 相关 举报
JAVASQL学生学籍管理系统代码及实验报告解读.pdf_第1页
第1页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《JAVASQL学生学籍管理系统代码及实验报告解读.pdf》由会员分享,可在线阅读,更多相关《JAVASQL学生学籍管理系统代码及实验报告解读.pdf(60页珍藏版)》请在三一文库上搜索。

1、学生学籍管理系统 1课程设计目的、设计内容与需求分析 1.1 课程设计目的 通过本次课程设计的实践操作,能够让学生懂得Java、SQL的各种相关知识的使 用,真正的提高学生独立开发设计Java 程序,把课堂上的知识运用在实践上,一门编 程语言只有在不断实践操作和练习上才会有进步。 1.2 软件设计内容 学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护, 使用方便,易用性强,图形界面清晰明了。该软件用 java 语言编写,用 SQLServer2005 数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删 除的操作。用 ODBC 驱动实现前台 Java 与

2、后台 SQL数据库的连接。 Java 语言跨平台 性强,可以在windows,linux ,ubuntu 等系统下使用,方便简单,安全性好。 SQLServer2005数据库高效安全, 两者结合可相互利用各自的优势。系统可供输入的 属性有“学号”, “姓名” , “性别” , “班级” , “学院” , “籍贯” 。 该系统实现的大致功能: 1管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方 可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信 息。 2查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息”。也可 以选择按照“某一个学号查询该学

3、号的学生信息”。查询到的信息会在窗口中依 次显示出来。 3添加学生信息。可以按照图形的界面的显示依次输入新学生的“学号”, “姓名” , “性别” , “班级” , “学院” , “籍贯” 。完成新纪录的添加。 4修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输 入要修改的属性,并输入新的数据。完成对学生记录的修改。 5删除学生记录。可以根据输入的“学号”或者”姓名”进行删除的操作。 1.3 需求分析 在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信 息的难度也越来越大。而且效率也是很低的。所以如何自动高效地管理信息是这些年来 许多人所研究的。 随

4、着这些年电脑计算机的速度质的提高,成本的下降,IT 互联网大众趋势的发展。 我们使用电脑的高效率才处理数据信息成为可能。学生学籍管理系统的出现,正是管 理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的 图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。 学生学籍管理系统,以SQL数据库作为后台信息存储,Java 作为前台系统的语言。 提供了对学生信息添加,查询,修改,删除的功能。实现了最基本的信息管理。 2 设计思路与主功能设计 2.1 设计思路 2.1.1 开发环境和软件 (1) 操作系统: Windows 7 (2) 数据库软件: SQL Serv

5、er 2005 (3) Java开发工具: Eclipse 2.1.2 SQL数据库表结构 2.1.3 程序系统设计图 2.1.4 功能模块说明: 1). 管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方 可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。 2). 查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息”。也可 学生学籍 管理系统 登录 登录验证 失败 成功 退出 查询 添加 修改 删除 显示 以选择按照“某一个学号查询该学号的学生信息”。查询到的信息会在窗口中依次显 示出来。 3). 添加学生信息。可以按照图形的界面的显示

6、依次输入新学生的“学号”, “姓名” , “性别” , “班级” , “学院” , “籍贯” 。完成新纪录的添加。 4). 修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输 入要修改的属性,并输入新的数据。完成对学生记录的修改。 5).删除学生记录。可以根据输入的“学号”或者”姓名”进行删除的操作。 6).显示学生信息。可以显示所有学生的信息、以供查看。 2.2 功能设计与介绍 1) 、添加学生信息 2) 、修改学生信息 3) 、查询学生信息 4) 、删除学生信息 5) 、显示学生信息 6) 、退出管理系统 3具体功能的介绍和数据测试 流程图: 函数之间相互调用的图示:

7、失败 3.1登录界面 学生学籍 管理系统 登录 登录验证 失败 成功 退出 查询 添加 修改 删除 显示 Login 登录验证 成功 Add() Modify() Delete() Display() Search() 登录界面输入“姓名”和“密码” ,点击“确定”,通过验证则进入主功能菜单。如果 输入错误则会有相应的警告! 1. 当输入了一个错误时,会出现下图! 2.登陆成功后提示 3.2主功能界面 3.2.1 显示 点击, 则弹出下面的选择菜单。 3.2.2 添加 点击,则弹出下面的选择菜单。 添加学生信息 1、设置的学号为主键、所以若添加的学号已存在的、会弹出如下图的提示: 2.成功添加

8、学生信息 3.2.3 修改学生信息 点击,则弹出下面的选择菜单。 1.若输入的学号不存在的时候会有如下提示框: 2.如 果 输 入 的 学 号 在 数 据 库 中 可 以 查 询 的 到 、 则 会 有弹 出 下 面 的 菜 单 : 然 后 修 改 学 生 对 应 框 的 学 生 信 息 、 修 改 完 成 后 、 点 击、 弹 出 下 面 的 提 示 3.2.4 查询学生信息 点击, 则弹出下面的选择菜单。 1.若输入的学号不存在、会弹出如下提示: 2、输入的学号存在的时候、会显示学生的所有信息: 3.2.5 删除学生信息 点击, 则弹出下面的选择菜单。 1.输入的学号不存在时、会弹出提示

9、2.输入学号存在时、完成删除后弹出提示 3.2.6 退出 点击,退出本学籍管理系统。 4 课程设计总结 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题 ,锻炼实践 能力的重要环节 ,是对学生实际工作能力的具体训练和考察过程. 本次课程设计虽然很 辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过 程中碰到了很多问题, 刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同 学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设 计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到 的知识比整整一个学期

10、学到的都多。理论和实践的相结合是学习最有效的方法。在设计 的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢 固,通过这次课程设计之后,一定把以前所学过的知识重新温故。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远 不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社 会服务,从而提高自己的实际动手能力和独立思考的能力。 5、参考文献: 1.数据库系统原理与应用孟彩霞主编人民教育出版社 2.JAVA 程序设计 James Cohoon /Jack Davidson 著清华大学出版社 3.JAVA 项目开发案例整合白伟

11、明 李伟等著电子工业出版社 6、代码: (一)登陆: Login import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPassword

12、Field; import javax.swing.JTextField; public class Login public static void main(String args) final String userName = “1“; final String passwrod = “1“; final JFrame jFrame = new JFrame(“登陆界面 “); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); jFrame.setBounds(int)dimension.getWidt

13、h() - 200) / 2, (int)dimension.getHeight() - 300) / 2, 200, 150); jFrame.setResizable(false); jFrame.setLayout(null); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label1 = new JLabel(“姓名“); label1.setBounds(10, 10, 100, 30); jFrame.add(label1); JLabel label2 = new JLabel(“密码“); labe

14、l2.setBounds(10, 40, 100, 30); jFrame.add(label2); final JTextField text1 = new JTextField(); text1.setBounds(50, 15, 130, 20); jFrame.add(text1); final JPasswordField text2 = new JPasswordField(); text2.setBounds(50, 45, 130, 20); jFrame.add(text2); JButton button = new JButton(“Login“); button.set

15、Bounds(10, 75, 170, 40); button.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) if(userName.equals(text1.getText() /使远窗口消失 JOptionPane.showMessageDialog(null, “登陆成功 “, “ 提示“, JOptionPane.INFORMATION_MESSAGE); jFrame.dispose(); (new Menu().go(); else JOption

16、Pane.showMessageDialog(null, “错误“, “提示 “, JOptionPane.ERROR_MESSAGE); text1.setText(“); text2.setText(“); ); jFrame.add(button); jFrame.setVisible(true); jFrame.setLocationRelativeTo(null); (二): 主界面: Menu import java.awt.Container; import java.awt.LayoutManager; import java.awt.event.ActionEvent; im

17、port java.awt.event.ActionListener; import java.awt.*; import javax.swing.JButton; import javax.swing.JFrame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class Menu JFrame jf; JButton j1,j2, j3, j4, j5,j6; public static void main(String args) Menu m =new Menu(); m.

18、go(); public void go() jf=new JFrame(“ 学生学籍管理系统 “); jf.setBounds(200, 200, 300, 200); Container cp=jf.getContentPane(); cp.setLayout(new FlowLayout(FlowLayout.LEADING,20,20); j1=new JButton(“ 添加学生信息 “); j2=new JButton(“ 修改学生信息 “); j3=new JButton(“ 查询学生信息 “); j4=new JButton(“ 删除学生信息 “); j5=new JButto

19、n(“ 显示学生信息 “); j6=new JButton(“ 退出管理系统 “); cp.add(j1); cp.add(j2); cp.add(j3); cp.add(j4); cp.add(j5); cp.add(j6); j1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / jf.dispose(); new Add(); ); j2.addActionListener(new ActionListener() public void actionPerformed(

20、ActionEvent e) / jf.dispose(); Modify modify=new Modify(); ); j3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / jf.dispose(); Search search=new Search(); ); j4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / jf.dispose(); Delet

21、e delete=new Delete(); ); j5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / jf.dispose(); Display display=new Display(); ); j6.addActionListener(new ActionListener() / ActionListener接收动作事件的监听器接口。 / 在处理动作事件感兴趣的类实现这个接口,这个类创建的对象注 册一个组件,使用组件的addActionListener方法。 / 动作

22、事件发生时,该对象的actionPerformed方法被调用。 public void actionPerformed(ActionEvent ae) System.exit(0); ); jf.setVisible(true); / jf.setLocationRelativeTo(null); / jf.setLocationRelativeTo(null)是用来使窗口显示在屏幕正中 间 ( 三)、添加: Add import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; publ

23、ic class Add extends JFrame implements ActionListener static Add s; /* 添加学生信息控件 */ JPanel jpl = new JPanel(); JLabel label1 = new JLabel(“添加学生信息 “,JLabel.CENTER); JLabel label2 = new JLabel(“学号:“,JLabel.CENTER); JLabel label3 = new JLabel(“姓名:“,JLabel.CENTER); JLabel label4 = new JLabel(“性别:“,JLabel

24、.CENTER); JLabel label5 = new JLabel(“班级:“,JLabel.CENTER); JLabel label6 = new JLabel(“生日:“,JLabel.CENTER); JLabel label7 = new JLabel(“政治面貌: “,JLabel.CENTER); JLabel label8 = new JLabel(“入学年份: “,JLabel.CENTER); JLabel label9 = new JLabel(“入学成绩: “,JLabel.CENTER); JLabel labelA = new JLabel(“联系方式: “,

25、JLabel.CENTER); JLabel labelB = new JLabel(“家庭住址: “,JLabel.CENTER); / JLabel labelC = new JLabel(“备注信息: “,JLabel.CENTER); JTextField Sno = new JTextField(2); JTextField Sname = new JTextField(4); JTextField Ssex = new JTextField(); JTextField Sclas = new JTextField(); JTextField Sbirth = new JTextFi

26、eld(); JTextField Snation = new JTextField(); JTextField Syear = new JTextField(); JTextField Sgrade = new JTextField(); JTextField Stel = new JTextField(); JTextField Saddress = new JTextField(); JButton reset = new JButton(“重置“); JButton addmsg = new JButton(“添加“); public Add() super(“ 添加学生信息 “);

27、this.setResizable(false); this.setSize(500,600); this.setVisible(true); /this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.add(jpl); this.setLocationRelativeTo(null); jpl.setLayout(null); addmsg.addActionListener(this); reset.addActionListener(this); /* 插入面板 */ label1.setBounds(100,20,300,20

28、); jpl.add(label1); label2.setBounds(100,50,70,20); jpl.add(label2); Sno.setBounds(190,50,140,20); jpl.add(Sno); label3.setBounds(100,90,70,20); jpl.add(label3); Sname.setBounds(190,90,140,20); jpl.add(Sname); label4.setBounds(100,130,70,20); jpl.add(label4); Ssex.setBounds(190,130,140,20); jpl.add(

29、Ssex); label5.setBounds(100,170,70,20); jpl.add(label5); Sclas.setBounds(190,170,140,20); jpl.add(Sclas); label6.setBounds(100,210,70,20); jpl.add(label6); Sbirth.setBounds(190,210,140,20); jpl.add(Sbirth); label7.setBounds(100,250,70,20); jpl.add(label7); Snation.setBounds(190,250,140,20); jpl.add(

30、Snation); label8.setBounds(100,290,70,20); jpl.add(label8); Syear.setBounds(190,290,140,20); jpl.add(Syear); label9.setBounds(100,330,70,20); jpl.add(label9); Sgrade.setBounds(190,330,140,20); jpl.add(Sgrade); labelA.setBounds(100,370,70,20); jpl.add(labelA); Stel.setBounds(190,370,140,20); jpl.add(

31、Stel); labelB.setBounds(100,410,70,20); jpl.add(labelB); Saddress.setBounds(190,410,140,20); jpl.add(Saddress); reset.setBounds(120,450,90,20); addmsg.setBounds(240,450,90,20); jpl.add(reset); jpl.add(addmsg); public void actionPerformed(ActionEvent e) if(e.getSource()=addmsg) try Class.forName(“sun

32、.jdbc.odbc.JdbcOdbcDriver“); catch (ClassNotFoundException ce) JOptionPane.showMessageDialog(s,ce.getMessage(); try DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver(); Connection conn=DriverManager.getConnection(“jdbc:sqlserver:/localhost:143 3;databasename=master“,“sa“,

33、“123“); Statement stmt=conn.createStatement(); int a = stmt.executeUpdate(“insert into shujuku(Sno , Sname , Ssex , Sclas ,Sbirth , Snation , Syear , Sgrade , Stel , Saddress)values(“+Sno.getText()+“,“+Sname.getText()+“,“+Sse x.getText()+“,“+Sclas.getText()+“,“ + “+Sbirth.getText()+“,“+Snation.getTe

34、xt()+“,“+Syear.getT ext()+“,“ + “+Sgrade.getText()+“,“+Stel.getText()+“,“+Saddress.getT ext()+“)“); System.out.println(a); if(a=1) JOptionPane.showMessageDialog(s,“已成功添加 “, “提 示“, JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(s,“添加失败 “, “提示 “, JOptionPane.ERROR_MESSAGE); stmt.

35、close(); catch (SQLException se) JOptionPane.showMessageDialog(s,se.getMessage(); se.printStackTrace(); else Sno.setText(“); Sname.setText(“); Ssex.setText(“); Sclas.setText(“); Sbirth.setText(“); Snation.setText(“); Syear.setText(“); Sgrade.setText(“); Stel.setText(“); Saddress.setText(“); Sno.requ

36、estFocus(); public static void main(String args) Add amg = new Add(); ( 四)、修改: Modify import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; public class Modify extends JFrame implements ActionListener Connection cnn; Statement stm; ResultSet rs; JLabel label2 = new JLa

37、bel(“学号:“,JLabel.CENTER); JLabel label3 = new JLabel(“姓名:“,JLabel.CENTER); JLabel label4 = new JLabel(“性别:“,JLabel.CENTER); JLabel label5 = new JLabel(“班级:“,JLabel.CENTER); JLabel label6 = new JLabel(“生日:“,JLabel.CENTER); JLabel label7 = new JLabel(“政治面貌: “,JLabel.CENTER); JLabel label8 = new JLabel

38、(“入学年份: “,JLabel.CENTER); JLabel label9 = new JLabel(“入学成绩: “,JLabel.CENTER); JLabel labelA = new JLabel(“联系方式: “,JLabel.CENTER); JLabel labelB = new JLabel(“家庭住址: “,JLabel.CENTER); JTextField Sno = new JTextField(12); JTextField Sname = new JTextField(12); JTextField Ssex = new JTextField(12); JTex

39、tField Sclas = new JTextField(12); JTextField Sbirth = new JTextField(12); JTextField Snation = new JTextField(12); JTextField Syear = new JTextField(12); JTextField Sgrade = new JTextField(12); JTextField Stel = new JTextField(12); JTextField Saddress = new JTextField(12); JButton btnModify=new JBu

40、tton(“修改“); JButton btnCancel=new JButton(“取消“); JButton btnQuery=new JButton(“查询“); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); JPanel pan5=new JPanel(); JPanel pan6=new JPanel(); JPanel pan7=new JPanel(); JPanel p

41、an8=new JPanel(); JPanel pan9=new JPanel(); JPanel pan10=new JPanel(); JPanel pan11=new JPanel(); Modify() super(“修改学生信息 “); setSize(500,600); this.setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); pan.setBorder(BorderFactory.createEtchedBorder(); pan1.add(label2); pan1

42、.add(Sno); pan2.add(label3); pan2.add(Sname); pan3.add(label4); pan3.add(Ssex); pan4.add(label5); pan4.add(Sclas); pan5.add(label6); pan5.add(Sbirth); pan6.add(label7); pan6.add(Snation); pan7.add(label8); pan7.add(Syear); pan8.add(label9); pan8.add(Sgrade); pan9.add(labelA); pan9.add(Stel); pan10.a

43、dd(labelB); pan10.add(Saddress); pan11.add(btnQuery); pan11.add(btnModify); pan11.add(btnCancel); pan.setLayout(new GridLayout(10,5); pan.add(pan1); pan.add(pan2); pan.add(pan3); pan.add(pan4); pan.add(pan5); pan.add(pan6); pan.add(pan7); pan.add(pan8); pan.add(pan9); pan.add(pan10); getContentPane(

44、).add(pan,“Center“); getContentPane().add(pan11,“South“); btnQuery.addActionListener(this); btnModify.addActionListener(this); btnCancel.addActionListener(this); btnModify.setEnabled(false); Sname.setEditable(false); Ssex.setEditable(false); Sclas.setEditable(false); Sbirth.setEditable(false); Snati

45、on.setEditable(false); Syear.setEditable(false); Sgrade.setEditable(false); Stel.setEditable(false); Saddress.setEditable(false); setVisible(true); Sno.requestFocus(); public void actionPerformed(ActionEvent ae) String id = Sno.getText(); if(ae.getSource()=btnCancel) try if(stm!=null) stm.close(); i

46、f(cnn!=null) cnn.close(); catch (SQLException ex) ex.printStackTrace(); this.dispose(); else if(ae.getSource()=btnQuery) try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver(); Connection cnn=DriverManager.getConnection(“jdb

47、c:sqlserver:/localhost:1433 ;databasename=master“,“sa“,“123“); Statement stmt=cnn.createStatement(); rs=stmt.executeQuery(“select * from shujuku where Sno=“+id+“); if(rs.next() btnModify.setEnabled(true); Sname.setEditable(true); Ssex.setEditable(true); Sclas.setEditable(true); Sbirth.setEditable(tr

48、ue); Snation.setEditable(true); Syear.setEditable(true); Sgrade.setEditable(true); Stel.setEditable(true); Saddress.setEditable(true); Sno.setText(rs.getString(“Sno“); Sname.setText(rs.getString(“Sname“); Ssex.setText(rs.getString(“Ssex“); Sclas.setText(rs.getString(“Sclas“); Sbirth.setText(rs.getSt

49、ring(“Sbirth“); Snation.setText(rs.getString(“Snation“); Syear.setText(rs.getString(“Syear“); Sgrade.setText(rs.getString(“Sgrade“); Stel.setText(rs.getString(“Stel“); Saddress.setText(rs.getString(“Saddress“); else JOptionPane.showMessageDialog(null, “ 不 存 在 该 记录!“, “提示“, JOptionPane.ERROR_MESSAGE); btnModify.setEnabled(false); Sno.setText(“); Sname.setText(“); Ssex

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1