ImageVerifierCode 换一换
格式:DOCX , 页数:62 ,大小:152.26KB ,
资源ID:2511804      下载积分:16 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2511804.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(java专业课程设计学生信息标准管理系统.docx)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

java专业课程设计学生信息标准管理系统.docx

1、 目录 1 需求分析 2 1.1 设计任务要求 2 1.2 系统功效需求分析 2 2 概要设计 2 2.1 图形用户界面设计 2 2.2 用数据库建立学生信息表 3 2.3 数据库连接 3 2.4 模块功效实现 3 3 具体设计 3 3.1 图形用户界面设计 3 3.2 用数据库建立学生信息表 3 3.3 数据库连接 3 3.4 模块功效实现 3 4 调试分析 3 4.1 系统功效测试 3 4.2 系统调试常见错误 3 4.3 试验小结 3 5 用户使用说明 3 6 测试数据和数据结果 3 参考文件 3 附件 3 1

2、 需求分析 利用计算机进行学生信息管理,不仅能够确保正确、无误、快速输出,而且还能够利用计算机对相关信息进行查询,检索快速、查找方便、可靠性高、存放量大、保密性好。要科学地实现信息化管理,开发一个适合学校,能够进行信息存放、查询、修改等功效信息管理系统是十分关键。我这次课题就是设计和实现一个学生信息管理系统。 1.1 设计任务要求 该学生信息管理系统设计要求关键有以下几点: (1)使用图形用户界面; (2)用数据库建立1或2个学生信息表;(不限使用哪种数据库) (3)能连接数据库并实现对学生信息查询、增、删、改等功效。 1.2 系统功效需求分析 系统关键包含以下几项功效:

3、 (1)添加学生信息; (2)查询学生信息; (3)删除学生信息; (4)修改学生信息。 2 概要设计 2.1 图形用户界面设计 图形用户界面中,设置窗口大小、显示位置和窗口标题,设置窗口关闭以后其后台程序同时关闭,设置窗口可拉伸且为可见。同时设置了用户输入文本框,文本框窗口大小等属性也进行设置,文本框中可输入用户需要输入学生信息。 2.2 用数据库建立学生信息表 在这里我用是数据库mysql,建立数据库名字为student,而且程序使用是单表形式,表名为 st ,st表字段,各个字段分别对应学生学号,名字,性别,年纪,籍贯,系别。 2.3 数据库连接 数据库连接只

4、需经过jdbc驱动,即可实现用户操作和数据资源连接,并可对相关数据库信息进行操作。 2.4 模块功效实现 以下是学生信息管理系统功效模块关系图,关键包含查询、添加、修改、删除学生信息等功效。 学生信息管理系统 查询学生信息 添加学生信息 修改学生信息 删除学生信息 图2.1 系统功效模块关系图 依据功效需要,我设想了主窗口界面大致部署图,并在设计和实现过程中尽可能去根据设想图图样去实现。设想图以下图所表示,图中也大约地标明了部分口号和说明。 主模块外出容器: Panel3:用来显示 按钮(添加) 按钮(修改) 按钮(删除) js

5、crollPane:用来显示数据库调出数据表 Panel1:标签(学生姓名) 输入框(学生姓名) 按钮(查询) 图2.2 设想主界面 图2.2中组件功效实现: (1)当用户点击查询按

6、钮时,系统创建一个数据库连接,从数据库调出用户所输入要查询学生信息,并显示到jscrollPane中,即主模块中部; (2)当用户点击添加按钮时,系统创建一个数据连接,弹出一个添加学生信息文本框,文本框可输入要添加学生信息,并可存入数据库。 (3)当用户点击修改按钮时,系统创建一个数据连接,从数据库中调出你所选行学生信息,并弹出修改该学生信息文本框,文本框可进行学生信息修改,修改完确定后,该学生信息会重新存入数据库。 (4)当用户点击删除按钮时,系统创建一个数据连接,依据你所选行学生学号,在数据库中找到该学生信息,并删除。 3 具体设计 3.1 图形用户界面设计 (1)主界面

7、窗口设计函数代码程序以下: //定义用户界面用到组件 JLabel userName = null; //要查询学生名字 JTextField textField = null; //用户输入文本框 JButton select = null; //查询按钮 JButton insert = null; //添加按钮 JButton update = null; //修改按钮 JButton delete = null; //删除按钮 JTable table = nul

8、l; //用于显示数据库调出数据表 Panel panel1 = null; Panel panel2 = null; Panel panel3 = null; JScrollPane jscrollPane = null; StModel stModel = null; //st表模型 private Object PreparedStatement; public StuMange() { //窗口显示上部组件 u

9、serName = new JLabel("学生名:"); textField = new JTextField(10); //用户输入文本框限定为最多输入10个字符 select = new JButton("查询"); //查询按钮 //添加到第一个面板中 panel1 = new Panel(); panel1.add(userName); panel1.add(textField); panel1.add(select);

10、 //窗口下部组件 insert = new JButton("添加"); delete = new JButton("删除"); update = new JButton("修改"); //添加到第三个个面板中 panel3 = new Panel(); panel3.add(insert); panel3.add(delete); panel3.add(update); //

11、窗口中部组件 stModel = new StModel(); stModel.insertDatabase("select * from st"); table = new JTable(stModel); jscrollPane = new JScrollPane(table); //注册事件监听 select.addActionListener(this); insert.addActionListener(this)

12、 update.addActionListener(this); delete.addActionListener(this); //将各个组件添加到窗体中 this.add(panel1, BorderLayout.NORTH); this.add(jscrollPane, BorderLayout.CENTER); this.add(panel3, BorderLayout.SOUTH); //设置窗体属性 thi

13、s.setSize(400, 300); //设置窗口大小 this.setLocation(200, 200); //设置窗口显示位置 this.setTitle("学生信息管理系统"); //设置窗口标题 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗口关闭以后其后台程序同时关闭 //设置窗口为可见 this.setVisible(true); } (2)添加学生界面文本框设计函数程序代码以下所

14、表示: private JLabel id, name, sex, age, address, dep; //分别代表学生学号,名字,性别,年纪,籍贯,系别 private JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6; //用户输入文本框,分别为学生学号,名字,性别,年纪,籍贯,系别 private JButton add, canel; //分别为添加按钮和取消按钮 private Panel panel1, panel2, panel3; public InsertStuden

15、t(Frame owner, String title, boolean model) { super(owner, title, model); //实现和父类窗口对话 System.out.println("我实施了"); //窗体西部组件 id = new JLabel("学号:"); name = new JLabel("姓名:"); sex = new JLabel("性别"); age = new JLabel("

16、年纪"); address = new JLabel("籍贯"); dep = new JLabel("系别:"); //添加到panel1面板中 panel1 = new Panel(new GridLayout(6, 1)); panel1.add(id); panel1.add(name); panel1.add(sex); panel1.add(age); panel1.add(addres

17、s); panel1.add(dep); //窗体东部组件 jtf1 = new JTextField(10); jtf2 = new JTextField(10); jtf3 = new JTextField(10); jtf4 = new JTextField(10); jtf5 = new JTextField(10); jtf6 = new JTextField(10); //添加到第二个面

18、板中 panel2 = new Panel(new GridLayout(6, 1)); panel2.add(jtf1); panel2.add(jtf2); panel2.add(jtf3); panel2.add(jtf4); panel2.add(jtf5); panel2.add(jtf6); //窗体北部控件 add = new JButton("添加"); ca

19、nel = new JButton("取消"); //注册事件监听 add.addActionListener(this); canel.addActionListener(this); //添加到panel3面板中 panel3 = new Panel(); panel3.add(add); panel3.add(canel); //将各个组件添加到窗体中 this.add(panel1, Bor

20、derLayout.WEST); this.add(panel2, BorderLayout.CENTER); this.add(panel3, BorderLayout.SOUTH); //设置对话框属性 this.setSize(300, 200); //设置对话框为可见 this.setVisible(true); } (3)修改学生界面文本框设计 JLabel id,name,sex,age,address,dep; //分别为学生

21、学号,学生姓名,学生性别,学生年纪,学生籍贯,学生系别标签 JTextField jtf1, jtf2, jtf3, jtf4,jtf5, jtf6; //分别为学生学号,姓名,性别,年纪,籍贯,系列输入文本框 JButton update,canel; //分别为修改和取消按钮 Panel panel1 ,panel2, panel3; public UpdateDatabase(Frame own, String title, boolean model, StModel stModel, int row) {

22、 super(own, title, model); //实现和父类窗口对话 //窗体西部组件 id = new JLabel("学号"); name = new JLabel("名字"); sex = new JLabel("性别"); age = new JLabel("年纪"); address = new JLabel("地址"); dep = new JLabel("系别"); //添加到pane

23、l1中 panel1 = new Panel(new GridLayout(6, 1)); panel1.add(id); panel1.add(name); panel1.add(sex); panel1.add(age); panel1.add(address); panel1.add(dep); //添加到窗体东部组件 jtf1 = new JTextField(10);

24、 jtf1.setText((String)(stModel.getValueAt(row, 0))); jtf1.setEditable(false);//设置学号不可修改 jtf2 = new JTextField(10); jtf2.setText((String)(stModel.getValueAt(row, 1))); jtf3 = new JTextField(10); jtf3.setText((String)(stModel.getValueAt(row, 2)));

25、 jtf4 = new JTextField(10); jtf4.setText((String)(stModel.getValueAt(row, 3))); jtf5 = new JTextField(10); jtf5.setText((String)(stModel.getValueAt(row, 4))); jtf6 = new JTextField(10); jtf6.setText((String)(stModel.getValueAt(row, 5)

26、)); //添加到第二个面板中 panel2 = new Panel(new GridLayout(6, 1)); panel2.add(jtf1); panel2.add(jtf2); panel2.add(jtf3); panel2.add(jtf4); panel2.add(jtf5); panel2.add(jtf6); //窗体南部组件 update = new JB

27、utton("确定"); canel = new JButton("取消"); panel3 = new Panel(); panel3.add(update); panel3.add(canel); //注册事件监听 update.addActionListener(this); canel.addActionListener(this); //添加组件到窗体中 this.add(panel1,

28、BorderLayout.WEST); this.add(panel2, BorderLayout.CENTER); this.add(panel3, BorderLayout.SOUTH); //设置窗体属性 this.setSize(300, 200); //设置窗体为可见 this.setVisible(true); } 3.2 用数据库建立学生信息表 (1)数据库建立学生表函数程序代码以下所表示: create table st (

29、 stId varchar(30) primary key, stNname varchar(50) not null, stSex varchar(2) default'男', stAge int, stBorn varchar(30), stDept varchar(30), constraint stS check (stSex in ('男','女')) ); (2)st表模型实现函数程序代码以下所表示: public class StModel extends AbstractTableModel{ Vector columN

30、ames = null; //表字段名称 Vector rowDate = null; //表数据 //数据库 private Connection con = null; private PreparedStatement ps = null; private ResultSet rs = null; private final static String driver = "com.mysql.jdbc.Driver"; //加载jdbc驱动 private final s

31、tatic String url = "jdbc:mysql://localhost:3306/student"; //数据源 private final static String user = "root"; //数据库用户名 private final static String passWord = "root"; //数据库用户名密码 //对数据库进行查找 public void insertDatabase(String sql) { columNames = new Vector

32、>(); //表字段名称 rowDate = new Vector(); //表数据 columNames.add("学号"); columNames.add("名字"); columNames.add("性别"); columNames.add("年纪"); columNames.add("籍贯"); columNames.add("系别"); try {

33、 //加载jdbc驱动 Class.forName(driver); //连接数据源 con = DriverManager.getConnection(url,user,passWord); //实施sql ps = con.prepareStatement(sql); rs = ps.executeQuery(); while(rs.next()) {

34、 Vector row = new Vector(); row.add(rs.getString(1)); row.add(rs.getString(2)); row.add(rs.getString(3)); row.add(rs.getString(4)); row.add(rs.getString(5));

35、 row.add(rs.getString(6)); rowDate.add(row); //将学生一条统计(row)添加到rowDate中 } } catch(ClassNotFoundException e) { e.printStackTrace(); } catch(SQLException e) {

36、 e.printStackTrace(); } finally { //关闭数据库资源 try { if(null != rs) { rs.close(); } if(null != ps) {

37、 ps.close(); } if(null != con) { con.close(); } } catch(SQLException e) { e.printStackTrace(); } } }

38、 //返回列数 public int getColumnCount() { return this.columNames.size(); } //返回表行数 public int getRowCount() { return this.rowDate.size(); } //得到某行某列数据 public Object getValueAt(int rowIndex, int columnIndex) { return ((Vector)

39、this.rowDate.get(rowIndex)).get(columnIndex); } //设置表字段名 public String getColumnName(int column) { return (String)this.columNames.get(column); } } 3.3 数据库连接 private final static String driver = "com.mysql.jdbc.Driver"; //加载jdbc驱动 private final sta

40、tic String url = "jdbc:mysql://localhost:3306/student"; //数据源 3.4 模块功效实现 主模块功效实现函数程序代码以下所表示: public void actionPerformed(ActionEvent e) { //用户点击了查找按钮 if(e.getSource() == select) { String paras = textField.getText().trim(); s

41、tModel = new StModel(); stModel.insertDatabase("select * from st where stNname='"+paras+"'"); table.setModel(stModel); } //用户点击了添加按钮 else if(e.getSource() == insert) { InsertStudent insertStudent = new Insert

42、Student(this, "添加学生", true); //刷新窗口表数据 stModel = new StModel(); stModel.insertDatabase("select * from st"); table.setModel(stModel); } //用户点击了修改按钮 else if(e.getSource() == update) {

43、 int row = this.table.getSelectedRow(); //用户选择行数 if(-1 == row) //假如用户没有选中行 { JOptionPane.showMessageDialog(this, "请选择一行"); } else { UpdateDatabase updateDatabase = new UpdateDatabase(thi

44、s, "修改学生", true, stModel, row); //刷新窗口表数据 stModel =new StModel(); stModel.insertDatabase("select * from st"); table.setModel(stModel); } } //用户点击了删除按钮 else if(e.getSource()

45、 delete) { //数据库 Connection con = null; PreparedStatement ps = null; String driver = "com.mysql.jdbc.Driver"; //jdbc驱动 String url = "jdbc:mysql://localhost:3306/student"; //数据源 String user = "root

46、"; //数据库用户密码 String passWord = "root"; //数据库用户sa密码 int row = this.table.getSelectedRow(); //用户选择行 if(-1 == row) //用户没有选中行 { JOptionPane.showMessageDialog(this, "请选择一行"); }

47、 else { try { //加载jdbc驱动 Class.forName(driver); //连接数据源 con = DriverManager.getConnection(url, user, passWord); //实施sql

48、 String sql = "delete from st where stId=?"; String id = (String)(stModel.getValueAt(row, 0)); //取得用户选择行学生学号 ps = con.prepareStatement(sql); ps.setString(1, id); ps.executeUpdate();

49、 //刷新窗口 stModel = new StModel(); stModel.insertDatabase("select * from st"); table.setModel(stModel); } catch(ClassNotFoundException e1) { e1.pr

50、intStackTrace(); } catch(SQLException e1) { e1.printStackTrace(); } finally { //关闭资源 try {

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服