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

上传人:土8路 文档编号:10472155 上传时间:2021-05-18 格式:DOC 页数:23 大小:1.21MB
返回 下载 相关 举报
JAVA课程设计(论文)学生学籍管理系统.doc_第1页
第1页 / 共23页
JAVA课程设计(论文)学生学籍管理系统.doc_第2页
第2页 / 共23页
JAVA课程设计(论文)学生学籍管理系统.doc_第3页
第3页 / 共23页
JAVA课程设计(论文)学生学籍管理系统.doc_第4页
第4页 / 共23页
JAVA课程设计(论文)学生学籍管理系统.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《JAVA课程设计(论文)学生学籍管理系统.doc》由会员分享,可在线阅读,更多相关《JAVA课程设计(论文)学生学籍管理系统.doc(23页珍藏版)》请在三一文库上搜索。

1、目 录一、 设计目的2二、 功能介绍21、 系统功能要求22、 其他要求2三、 程序流程31、 数据库设计32、 应用程序设计4四、 设计步骤61、 连接数据库类DBConnect62、 用户登录面板63、 应用程序功能81. 查询全部82. 条件查询93. 个人信息显示144. 添加信息155. 删除信息186. 修改密码217. 注销22五、 设计总结23六、 参考资料23一、 设计目的通过课程设计,使学生提高理论联系实际解决实际问题的能力;也使学生对基于面向对象的理论进行系统设计过程中的诸多具体问题有感性的认识和深入的理解;进而提高学生的学习兴趣为其将来顺利进入毕业环节作必要的准备。由教

2、师布置课程设计的题目与思路,学生每56人一个题目,按照教师给出的思路和计划进度安排独立完成课程设计,最后每人提交一份课程设计报告。二、 功能介绍(一)系统功能要求:(1)具有新用户注册功能。(2)具有注册用户登录功能。(3)具有学生学籍的录入功能。(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。(5)具有按条件删除数据功能。(二)其它要求:(1)只能使用Java语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。(2)程序必须与数据库进行通信。(3)系统必须是图形用户界面的形式并连接数据库。(4)学生可根据自身情况酌情增加新功能(视情况可另外加分)。(5)独

3、立完成课程设计,并完成课程设计报告,报告应记录设计的过程,尤其是分析/设计/实现过程中的决策。三、 程序流程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 ExceptionS

4、tring 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_actionPerforme

5、d(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. 设计用户登录面板功能说明:

6、该面板主要用于填写用户登录信息,并根据用户登录信息查询数据库。点击提交按钮,查询数据库,若数据库中有该用户信息并且输入密码正确,则登录成功,否则提示错误。点击重置按钮则清空文本框,点击返回则返回上一级欢迎面板。方法:public void submit_actionPerformed(ActionEvent e); public void cancel_actionPerformed(ActionEvent e); public void back_actionPerformed(ActionEvent e);效果展示:图4 填写登录信息方法实现:/点击提交按钮public void subm

7、it_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 ad

8、min 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.showMessageDia

9、log(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 welc

10、ome(); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();4. 设计应用程序功能1. 查询全部 功能说明:当该用户是管理员用户的时候,该用户具有查询全部学生信息和全部管理员信息的权限,当该用户是普通学生用户时,只有查询全部学生信息的功能。在查询全部标签下,点击学生信息或管理员信息按钮,程序就会将所有查询信息显示在右下角的表格里。方法:public void jButtonQurryAll_ationPerformed(ActionEvent e);效果展示图5 查询全部学生信息图6 查询全

11、部管理员信息方法实现: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()=jButtonQur

12、ryAllSt)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.printStac

13、kTrace();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() jTe

14、xtFieldQuery.setVisible(false);if(jButtonQueryOK.isEnabled() jButtonQueryOK.setEnabled(false);2. 条件查询功能说明:当该用户是管理员用户的时候,该用户具有按条件查询学生信息和管理员信息的权限,当该用户是普通学生用户时,只有按条件查询学生信息的功能。在条件查询标签下,点击学生信息或管理员信息按钮,之后在查询条件下拉列表里选择要查询的条件并填写相应的值之后点击查询按钮,在面板的右下角的表格中就会显示查询结果,若没有记录则给出提示。方法:public void jButtonQurryPrt_action

15、Performed(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.removeAllItem

16、s();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.tableMod

17、elAd);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(!jButtonQuery

18、OK.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,

19、请输入查询的值);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.getS

20、electedIndex()=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.

21、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 qurryStri

22、ng += 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, sclas

23、s, 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

24、(jComboBoxCon.getSelectedIndex()=0)qurryString += +jTextFieldQuery.getText()+;else if(jComboBoxCon.getSelectedIndex()=1)qurryString += +jTextFieldQuery.getText()+;else qurryString += =+jTextFieldQuery.getText()+;else if(jComboBoxQuery.getSelectedIndex()=3)qurryString += dept = +jTextFieldQuery.getTe

25、xt()+;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

26、 = +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 += +jTextFi

27、eldQuery.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(A

28、ctionEvent 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

29、+)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.setVisib

30、le(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. 个人信息显示功能说明:主要

31、显示个人信息,当用户点击个人信息标签下的显示信息按钮时,在面板的右下角显示用户个人信息方法: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 u

32、sername, 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 wh

33、ere 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.setE

34、nabled(false);if(jLabelQurryValue.isVisible() jLabelQurryValue.setVisible(false);if(jTextFieldQuery.isVisible() jTextFieldQuery.setVisible(false);if(jButtonQueryOK.isEnabled() jButtonQueryOK.setEnabled(false);4. 添加信息功能说明:主要用于添加学生记录和管理员。当点击添加信息标签下的学生记或管理员用户时,在面板右下角的表格中就会有一个空行,在空行中填写你要添加的记录,点击添加按钮,若数据

35、库中没有该学号的学生或用户名唯一,则会提示添加成功,否则提示添加失败方法: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;j

36、Table.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)s

37、electFlag = 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.set

38、Enabled(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)qurry

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

当前位置:首页 > 社会民生


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