欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

JAVA课程设计(论文)学生学籍管理系统

  • 资源ID:30669929       资源大小:1.26MB        全文页数:23页
  • 资源格式: DOC        下载积分:15积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要15积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

JAVA课程设计(论文)学生学籍管理系统

装订线长 春 大 学 课程设计纸目 录一、 设计目的2二、 功能介绍21、 系统功能要求22、 其他要求2三、 程序流程31、 数据库设计32、 应用程序设计4四、 设计步骤61、 连接数据库类DBConnect62、 用户登录面板63、 应用程序功能81. 查询全部82. 条件查询93. 个人信息显示144. 添加信息155. 删除信息186. 修改密码217. 注销22五、 设计总结23六、 参考资料23一、 设计目的通过课程设计,使学生提高理论联系实际解决实际问题的能力;也使学生对基于面向对象的理论进行系统设计过程中的诸多具体问题有感性的认识和深入的理解;进而提高学生的学习兴趣为其将来顺利进入毕业环节作必要的准备。由教师布置课程设计的题目与思路,学生每56人一个题目,按照教师给出的思路和计划进度安排独立完成课程设计,最后每人提交一份课程设计报告。二、 功能介绍(一)系统功能要求:(1)具有新用户注册功能。(2)具有注册用户登录功能。(3)具有学生学籍的录入功能。(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。(5)具有按条件删除数据功能。(二)其它要求:(1)只能使用Java语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。(2)程序必须与数据库进行通信。(3)系统必须是图形用户界面的形式并连接数据库。(4)学生可根据自身情况酌情增加新功能(视情况可另外加分)。(5)独立完成课程设计,并完成课程设计报告,报告应记录设计的过程,尤其是分析/设计/实现过程中的决策。三、 程序流程1、 数据库设计1.admin表的设计表1 admin表2.student_info表的设计表2 student_info表2、应用程序设计1.程序功能表视图图1 功能视图2.程序流程图图2 流程图四、 设计步骤1. 设计连接数据库类DBConnect。功能说明:该类主要用于数据库的连接。方法:public static Connection getConnect();方法实现:public static Connection getConnect() throws ExceptionString driver = "com.mysql.jdbc.Driver"String url = "jdbc:mysql:/localhost:3306/student"String user = "root"String password = "root"Class.forName(driver);return DriverManager.getConnection(url,user,password);2. 设计欢迎使用面板功能说明:显示用户登录欢迎界面,当用户选择不同类型用户登录时,设置不同的下一页面显示信息。方法:public void loginButton_actionPerformed(ActionEvent e); 效果展示:图3 欢迎界面方法实现:public void loginButton_actionPerformed(ActionEvent e)if(e.getSource()=adminLoginButton)flag = true;user = "管理员"else if(e.getSource()=userLoginButton)flag = false;user = "普通"this.setTitle("学生学籍管理系统-"+user+"用户登录");LoginInfo.setText("欢迎"+user+"用户登录");setInfo();3. 设计用户登录面板功能说明:该面板主要用于填写用户登录信息,并根据用户登录信息查询数据库。点击提交按钮,查询数据库,若数据库中有该用户信息并且输入密码正确,则登录成功,否则提示错误。点击重置按钮则清空文本框,点击返回则返回上一级欢迎面板。方法:public void submit_actionPerformed(ActionEvent e); public void cancel_actionPerformed(ActionEvent e); public void back_actionPerformed(ActionEvent e);效果展示:图4 填写登录信息方法实现:/点击提交按钮public void submit_actionPerformed(ActionEvent e) throws Exceptionconnection = DBConnect.getConnect();statement = connection.createStatement();String textField = jTextField.getText().toString();String password = jPasswordField.getText().toString();String select = null;if(flag = true)select = "select password from admin where username = "+textField+""elseselect = "select password from student_info where sno = "+textField+""rs = statement.executeQuery(select);if(rs.next()&&rs.getString("password").equals(password)username = textField;jTextField.setText("");jPasswordField.setText("");showInfo();elseJOptionPane.showMessageDialog(this, "用户名或密码错误,请重新输入");jPasswordField.setText("");rs.close();/点击重置按钮public void cancel_actionPerformed(ActionEvent e)jTextField.setText("");jPasswordField.setText("");/点击返回按钮public void back_actionPerformed(ActionEvent e)this.setTitle("欢迎使用学生学籍管理系统");jTextField.setText("");jPasswordField.setText("");try welcome(); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();4. 设计应用程序功能1. 查询全部 功能说明:当该用户是管理员用户的时候,该用户具有查询全部学生信息和全部管理员信息的权限,当该用户是普通学生用户时,只有查询全部学生信息的功能。在查询全部标签下,点击学生信息或管理员信息按钮,程序就会将所有查询信息显示在右下角的表格里。方法:public void jButtonQurryAll_ationPerformed(ActionEvent e);效果展示图5 查询全部学生信息图6 查询全部管理员信息方法实现:public void jButtonQurryAll_actionPerformed(ActionEvent e)if(e.getSource()=jButtonQurryAllAd)selectFlag = true;jTable.setModel(JTableInfo.tableModelAd);JTableInfo.setColumnWidth(jTable);qurryString = "select username, name, sex, people, age, dept from admin;"else if(e.getSource()=jButtonQurryAllSt)selectFlag = false;jTable.setModel(JTableInfo.tableModelSt);JTableInfo.setColumnWidth(jTable);qurryString = "select sno, sname, sex, people, age, sid, address, dept, sclass, inscore from student_info;"try cnt = setJTableInfo(); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();if(jComboBoxQuery.isEnabled() jComboBoxQuery.setEnabled(false);if(jComboBoxCon.isEnabled()jComboBoxCon.setEnabled(false);if(jButtonUpdateInfo.isEnabled() jButtonUpdateInfo.setEnabled(false);if(jLabelQurryValue.isVisible() jLabelQurryValue.setVisible(false);if(jTextFieldQuery.isVisible() jTextFieldQuery.setVisible(false);if(jButtonQueryOK.isEnabled() jButtonQueryOK.setEnabled(false);2. 条件查询功能说明:当该用户是管理员用户的时候,该用户具有按条件查询学生信息和管理员信息的权限,当该用户是普通学生用户时,只有按条件查询学生信息的功能。在条件查询标签下,点击学生信息或管理员信息按钮,之后在查询条件下拉列表里选择要查询的条件并填写相应的值之后点击查询按钮,在面板的右下角的表格中就会显示查询结果,若没有记录则给出提示。方法:public void jButtonQurryPrt_actionPerformed(ActionEvent e); public void jButtonQueryOK_actionPerformed(ActionEvent e); public void jComboBoxQuery_actionPerformed(ActionEvent e);效果展示:图7 按条件查询学生信息成功图8 按条件查询管理员信息成功图9 没有符合条件的信息方法实现:/search as conditionpublic void jButtonQurryPrt_actionPerformed(ActionEvent e)jComboBoxQuery.removeAllItems();jComboBoxCon.removeAllItems();if(e.getSource()=jButtonQurryPrtSt)selectFlag = false;jTable.setModel(JTableInfo.tableModelSt);for(int i = 0; i < cbxStringSt.length; i +)jComboBoxQuery.addItem(cbxStringSti);else if(e.getSource()=jButtonQurryPrtAd)selectFlag = true;jTable.setModel(JTableInfo.tableModelAd);for(int i = 0; i < cbxStringAd.length; i +)jComboBoxQuery.addItem(cbxStringAdi);JTableInfo.setColumnWidth(jTable);JTableInfo.setJTableEmpty(jTable);if(jButtonUpdateInfo.isEnabled() jButtonUpdateInfo.setEnabled(false);if(!jComboBoxQuery.isEnabled() jComboBoxQuery.setEnabled(true);if(!jButtonQueryOK.isEnabled() jButtonQueryOK.setEnabled(true);/查询按钮事件处理public void jButtonQueryOK_actionPerformed(ActionEvent e)if(jTextFieldQuery.isEnabled() &&jTextFieldQuery.isVisible()&&(jTextFieldQuery.getText().toString() = null|jTextFieldQuery.getText().toString().equals("") JOptionPane.showMessageDialog(this, "请输入查询的值");elseif(selectFlag)jTable.setModel(JTableInfo.tableModelAd);JTableInfo.setColumnWidth(jTable);qurryString = "select username, name, sex, people, age, dept from admin where "if(jComboBoxQuery.getSelectedIndex()=0)qurryString += "username = "+jTextFieldQuery.getText()+""else if(jComboBoxQuery.getSelectedIndex()=1)qurryString += "name like %"+jTextFieldQuery.getText().toString()+"%;"else if(jComboBoxQuery.getSelectedIndex()=2)qurryString +="age "if(jComboBoxCon.getSelectedIndex()=0)qurryString += "< "+jTextFieldQuery.getText()+""else if(jComboBoxCon.getSelectedIndex()=1)qurryString += "<= "+jTextFieldQuery.getText()+""else if(jComboBoxCon.getSelectedIndex()=2)qurryString += "= "+jTextFieldQuery.getText()+""else if(jComboBoxCon.getSelectedIndex()=3)qurryString += "> "+jTextFieldQuery.getText()+""else qurryString += ">="+jTextFieldQuery.getText()+""else if(jComboBoxQuery.getSelectedIndex()=3)qurryString += "dept = "+jTextFieldQuery.getText()+""else if(jComboBoxQuery.getSelectedIndex()=4)if(jComboBoxCon.getSelectedIndex()=0)qurryString += "sex = 男;"else qurryString += "sex = 女;"else qurryString += "people = "+jTextFieldQuery.getText()+""try cnt = setJTableInfo(); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();elsejTable.setModel(JTableInfo.tableModelSt);JTableInfo.setColumnWidth(jTable);qurryString = "select sno, sname, sex, people, age, sid, address, dept, sclass, inscore from student_info where "if(jComboBoxQuery.getSelectedIndex()=0)qurryString += "sno = "+jTextFieldQuery.getText()+""else if(jComboBoxQuery.getSelectedIndex()=1)qurryString += "sname like %"+jTextFieldQuery.getText().toString()+"%;"else if(jComboBoxQuery.getSelectedIndex()=2)qurryString +="age "if(jComboBoxCon.getSelectedIndex()=0)qurryString += "< "+jTextFieldQuery.getText()+""else if(jComboBoxCon.getSelectedIndex()=1)qurryString += "<= "+jTextFieldQuery.getText()+""else if(jComboBoxCon.getSelectedIndex()=2)qurryString += "= "+jTextFieldQuery.getText()+""else if(jComboBoxCon.getSelectedIndex()=3)qurryString += "> "+jTextFieldQuery.getText()+""else qurryString += ">="+jTextFieldQuery.getText()+""else if(jComboBoxQuery.getSelectedIndex()=3)qurryString += "dept = "+jTextFieldQuery.getText()+""else if(jComboBoxQuery.getSelectedIndex()=4)if(jComboBoxCon.getSelectedIndex()=0)qurryString += "sex = 男;"else qurryString += "sex = 女;"else if(jComboBoxQuery.getSelectedIndex()=5)qurryString += "people = "+jTextFieldQuery.getText()+""else if(jComboBoxQuery.getSelectedIndex()=6)qurryString += "address = "+jTextFieldQuery.getText()+""else if(jComboBoxQuery.getSelectedIndex()=7)qurryString += "sclass = "+jTextFieldQuery.getText()+""else qurryString +="inscore "if(jComboBoxCon.getSelectedIndex()=0)qurryString += "< "+jTextFieldQuery.getText()+""else if(jComboBoxCon.getSelectedIndex()=1)qurryString += "<= "+jTextFieldQuery.getText()+""else if(jComboBoxCon.getSelectedIndex()=2)qurryString += "= "+jTextFieldQuery.getText()+""else if(jComboBoxCon.getSelectedIndex()=3)qurryString += "> "+jTextFieldQuery.getText()+""else qurryString += ">="+jTextFieldQuery.getText()+""try cnt = setJTableInfo(); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();if(cnt = 0) JOptionPane.showMessageDialog (this, "没有符合条件的信息");/jComboBoxQuery 第一个下拉列表事件public void jComboBoxQuery_actionPerformed(ActionEvent e)jTextFieldQuery.setText("");if(jComboBoxQuery.getSelectedIndex() = 2|jComboBoxQuery.getSelectedIndex() = 4|jComboBoxQuery.getSelectedIndex() = 8)jComboBoxCon.setEnabled(true);if(jComboBoxQuery.getSelectedIndex() = 4)jComboBoxCon.removeAllItems();for(int i = 0; i < cbxStringSexCon.length; i +)jComboBoxCon.addItem(cbxStringSexConi);if(jLabelQurryValue.isVisible() jLabelQurryValue.setVisible(false);if(jTextFieldQuery.isVisible() jTextFieldQuery.setVisible(false);elseif(!jLabelQurryValue.isVisible() jLabelQurryValue.setVisible(true);if(!jTextFieldQuery.isVisible() jTextFieldQuery.setVisible(true);jComboBoxCon.removeAllItems();for(int i = 0; i < cbxStringCon.length; i +)jComboBoxCon.addItem(cbxStringConi);elseif(!jLabelQurryValue.isVisible() jLabelQurryValue.setVisible(true);if(!jTextFieldQuery.isVisible() jTextFieldQuery.setVisible(true);jComboBoxCon.setEnabled(false);3. 个人信息显示功能说明:主要显示个人信息,当用户点击个人信息标签下的显示信息按钮时,在面板的右下角显示用户个人信息方法:public void jButtonUpdate_actionPerformed(ActionEvent e);效果展示:图10 显示当前用户信息方法实现:/show own infopublic void jButtonUpdate_actionPerformed(ActionEvent e)if(flag)jTable.setModel(JTableInfo.tableModelAd);JTableInfo.setColumnWidth(jTable);qurryString = "select username, name, sex, people, age, dept from admin where username = "+username+""selectFlag = true;elsejTable.setModel(JTableInfo.tableModelSt);JTableInfo.setColumnWidth(jTable);selectFlag = false;qurryString = "select sno, sname, sex, people, age, sid, address, dept, sclass, inscore from student_info where sno = "+username+""try cnt = setJTableInfo(); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();if(jComboBoxQuery.isEnabled() jComboBoxQuery.setEnabled(false);if(jComboBoxCon.isEnabled() jComboBoxCon.setEnabled(false);if(jButtonUpdateInfo.isEnabled() jButtonUpdateInfo.setEnabled(false);if(jLabelQurryValue.isVisible() jLabelQurryValue.setVisible(false);if(jTextFieldQuery.isVisible() jTextFieldQuery.setVisible(false);if(jButtonQueryOK.isEnabled() jButtonQueryOK.setEnabled(false);4. 添加信息功能说明:主要用于添加学生记录和管理员。当点击添加信息标签下的学生记或管理员用户时,在面板右下角的表格中就会有一个空行,在空行中填写你要添加的记录,点击添加按钮,若数据库中没有该学号的学生或用户名唯一,则会提示添加成功,否则提示添加失败方法:public void jButtonAdd_actionPerformed(ActionEvent e); public void jBtuuonUpdateInfo_actionPerformed(ActionEvent e);效果展示:图11 添加学生记录成功图12 添加管理员用户失败方法实现:/add infopublic void jButtonAdd_actionPerformed(ActionEvent e)if(e.getSource()=jButtonAddSt)selectFlag = false;jTable.setModel(JTableInfo.tableModelSt);JTableInfo.setJTableEmpty(jTable);JTableInfo.setColumnWidth(jTable);DefaultTableModel tableModel = (DefaultTableModel)jTable.getModel();tableModel.addRow(new Objectnull, null, null, null, null, null, null, null, null, null);else if(e.getSource()=jButtonAddAd)selectFlag = true;jTable.setModel(JTableInfo.tableModelAd);JTableInfo.setJTableEmpty(jTable);JTableInfo.setColumnWidth(jTable);DefaultTableModel tableModel = (DefaultTableModel)jTable.getModel();tableModel.addRow(new Objectnull,null,null,null,null,null);if(jComboBoxQuery.isEnabled()jComboBoxQuery.setEnabled(false);if(jComboBoxCon.isEnabled()jComboBoxCon.setEnabled(false);if(!jButtonUpdateInfo.isEnabled() jButtonUpdateInfo.setEnabled(true);if(jLabelQurryValue.isVisible() jLabelQurryValue.setVisible(false);if(jTextFieldQuery.isVisible() jTextFieldQuery.setVisible(false);if(jButtonQueryOK.isEnabled() jButtonQueryOK.setEnabled(false);/添加信息public void jButtonUpdateInfo_actionPerformed(ActionEvent e)qurryString = "insert into "if(selectFlag)qurryString += "admin values("Admin ad = new Admin();ad.setUserName(String)jTable.getValueAt(0, 0);ad.setName(String)jTable.getValueAt(0, 1);ad.setSex(String)jTable.getValueAt(0, 2);ad.setPeople(String)jTable.getValueAt(0, 3);if(jTable.getValueAt(0, 4)!=null)ad.setAge(Integer.parseInt(String)jTable.getValueAt(0, 4);ad.setDept(String)jTable.getValueAt(0, 5);ad.setPassword(String)jTable.getValueAt(0, 0);if(ad.getSex()!= null&&!ad.getSex().equals("")&&!ad.getSex().equals("男")&&!ad.getSex().equals("女")JOptionPane.showMessageDialog(this, "性别只能为男或女");elseBoolean fg = false;qurryString +=ad.getUserName()+", "+ad.getName()+", "+ad.getSex()+", "+ad.getPeople()+", "+ad.getAge()+", "+ad.getDept()+", "+ad.getPassword()+");"try statement.executeUpdate(qurryString); catch (SQLException e1) fg = true;JOptionPane.showMessageDialog(this, "用户已存在或性别为空");if(!fg)JOptionPane.showMessageDialog(this, "添加成功");elsequrryString += "student_info values("Student st = new Student();st.setSno(String)jTable.getValueAt(0, 0);st.setName(String)jTable.getValueAt(0, 1);st.setSex(String)jTable.getValueAt(0, 2);st.setPeople(String)jTable.getValueAt(0, 3);if(jTable.getValueAt(0, 4)!=null)st.setAge(Integer.parseInt(String)jTable.getValueAt(0, 4);st.setSID(String)jTable.getValueAt(0, 5);st.setAddress(String)jTable.getValueAt(0, 6);st.setDept(String)jTable.getValueAt(0, 7);st.setClass(String)jTable.getValueAt(0, 8);if(jTable.getValueAt(0, 9)!=null)st.setInScore(Integer.parseInt(String)jTable.getValueAt(0, 9);st.setPassword(String)jTable.getValueAt(0, 0);if(st.getSex()!=null&& !st.getSex().equals("") && !st.getSex().equals("男")&& !st.getSex().equals("女")JOptionPane.showMessageDialog(this, "性别只能为男或女");elseBoolean fg = false;qurryString += st.getSno()+", "+st.getName()+", "+st.getSex()+", "+st.getPeople()+", "+st.getAge()+", "+st.getSID()+", "+st.getAddress()+", "+st.getDept()+", "+st.getSClass()+", "+st.getInScore()+", "+st.getPassword()+");"try statement.executeUpdate(qurryString); catch (SQLException e1) fg = true;JOptionPane.showMessageDialog(this, "已有该学号的学生记录或性别为空");if(!fg)JOptionPane.showMessageDialog(this, "添加成功");5. 删除记录功能说明:主要用于删除学生记录和管理员用户。在表格中选择你要删除的信息后,当点击删除信息标签下的学生信息或管理员信息时,应用程序就会提示你是否真的要删除你选择的信息,若点是,则应用程序会删除你要删除的信息,点击其他则取消删除。方法:public jBottonDelete_actionPerformed(ActionEvent e);效果展示:图13 删除学生信息图14 删除管理员用户成功方法实现:/delete infopublic void jButtonDelete_actionPerformed(ActionEvent e) throws ExceptionString sql = null;boolean isRight = true;int selectRows = jTable.getSelectedRows().length;DefaultTableModel tableModel = (DefaultTableModel)jTable.getModel();if(e.getSource() = jButtonDeleteSt)if(selectFlag)isRight = false;JOptionPane.showMessageDialog(this, "请选择删除管理员记录");else sql = "delete from student_info where sno = "else if(e.getSource() = jButtonDeleteAd)if(!selectFlag)isRight = false;JOptionPane.showMessageDialog(this, "请选择删除学生记录");else sql = "delete from admin where username = "if(isRight)if(selectRows = 0)JOptionPane.showMessageDialog(this, "请选择要删除的行");else if(selectRows = 1)int selectRowIndex = jTable.getSelectedRow();if(String)jTable.getValueAt(selectRowIndex, 0)=null|(String)jTable.getValueAt(selectRowIndex, 0).equals("")tableModel.removeRow(selectRowIndex);else if(String)jTable.getValueAt(selectRowIndex, 0).equals(username)JOptionPane.showMessageDialog(this, "不能删除自己");sql += (String)jTable.getValueAt(selectRowIndex, 0)+""int ifDelete = JOptionPane.showConfirmDialog(this, "确定删除这条记录吗?");if(ifDelete = JOptionPane.OK_OPTION)Boolean fg = false;try statement.executeUpdate(sql); catch (SQLException e1) fg =true;JOptionPane.showMessageDialog(this, "删除失败!");if(!fg)JOptionPane.showMessageDialog(this, "删除成功!");tableModel.removeRow(selectRowIndex);elseint selectRowIndexs = null;selectRowIndexs = jTable.getSelectedRows();int k = -1;int ifDelete = JOptionPane.showConfirmDialog(this, "确定删除这些记录吗?");for(int i = 0; i < selectRowIndexs.length; i +)if(selectFlag)sql = "delete from admin where username = "+(String)jTable.getValueAt(selectRowIndexsi, 0)+""

注意事项

本文(JAVA课程设计(论文)学生学籍管理系统)为本站会员(仙***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!