《JAVA程序设计分析方案-------学生信息管理系统 .docx》由会员分享,可在线阅读,更多相关《JAVA程序设计分析方案-------学生信息管理系统 .docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结JAVA 程序设计报告- 同学信息治理系统辅导老师:张松敏系别:运算机系专业:软件技术学号: 0640836 姓名:夏中成日期: 2021-6-13目录一需求分析。3二功能分析。3三模块设计。3四软件设计分析。3(一)数据库设计。 3(二)模块及窗体设计。 31 数据库模块设计。 32 用户登录识别模可编辑资料 - - - 欢迎下载精品名师归纳总结块。 53 用户信息管理模块。 6(1)密码修改。6(2)用户信息添加和删除。84 学生息管理模块。 10(1)添加信息。10(2)信息查看。11(3)信息修改。12(4)删除信息。145 系统管理模块。 156 主窗体菜单设计。 1
2、5五总结。15参考资料:一 需求分析本系统的主要目的就是实现同学信息治理,使同学信息治理工作更加简洁,从而提高工作效率,降低治理成本 .系统中需要对拥护身份进行治理,实行登陆进入系统的形式.二 功能分析1 用户登录信息治理可编辑资料 - - - 欢迎下载精品名师归纳总结2 用户信息治理同学信息治理系统治理三 模块设计1 数据库设计模块2 用户登录识别模块3 用户信息治理模块4 同学息治理模块系统首页可编辑资料 - - - 欢迎下载精品名师归纳总结5 系用统户治理模块四登软陆件设计分析(一信)息数据库设计用户信息治理同学信息治理系统治理可编辑资料 - - - 欢迎下载精品名师归纳总结数据管库理名
3、称: student表名: user,stud,grade表 user:存放登陆用户的用户名和密码表 stud:存放同学基本信息可编辑资料 - - - 欢迎下载精品名师归纳总结:存放同学成果信息表通gr过ade添加修改添加查看修改删除重新退出登可编辑资料 - - - 欢迎下载精品名师归纳总结身份删除密码登陆陆可编辑资料 - - - 欢迎下载精品名师归纳总结(二) 模块及窗体设计请求用户1 数据库模块设计将数据库的连接包装在一个database 类中,以便其他模块能够轻松调用,防止每次重写数据库连接代码。下表是他的基本属性文件名成员变量成员方法可编辑资料 - - - 欢迎下载精品名师归纳总结da
4、tabase.javapublicstaticConnectioncn。publicstaticStatementst 。public static ResultSet rs 。public static boolean joinDBpublicstatic boolean executeSQLString sqlString public static boolean queryString sqlString可编辑资料 - - - 欢迎下载精品名师归纳总结代码如下:import java.sql.* 。/ 引入包public class database public static Con
5、nection cn 。 / 定义一个连接对象public static Statement st 。/定义一个 SQL 语句对象public static ResultSet rs 。/ 定义一个数据集public static boolean joinDB /用来判定是否连接成功boolean joinFlag 。try joinFlag = true 。Class.forNamesun.jdbc.odbc.JdbcOdbcDriver。/通过调用java.lang 中的 Class 类的forName 方法来实现 JDBC ODBC 桥接器cn = DriverManager.getCo
6、nnectionjdbc:odbc:student,sa,。创建一个连接对象cn.setCatalogstudent 。/加载数据库System.out.println 数据库连接成功 。st = cn.createStatementResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY。/ 返回一个可滚动的结果集,数据库变化时结果集跟着变化。不能用结果集更新数据库中可编辑资料 - - - 欢迎下载精品名师归纳总结的表return joinFlag 。 catch SQLException sqlEx System.out.pri
7、ntlnsqlEx.getMessage 。joinFlag = false 。return joinFlag 。 catch ClassNotFoundException notfoundEX System.out.printlnnotfoundEX.getMessage。joinFlag = false 。return joinFlag 。public static boolean executeSQLString sqlString boolean executeFlag。try st.executesqlString 。executeFlag = true。 catch Excepti
8、on e executeFlag = false。System.out.printlnsql exception: + e.getMessage。return executeFlag 。public static boolean queryString sqlString try rs = null 。rs = st.executeQuerysqlString 。 catch Exception Ex System.out.printlnsql exception: + Ex。return false 。return true。2 用户登录识别模块可编辑资料 - - - 欢迎下载精品名师归纳总
9、结代码封装在类Land 里,所用到的信息储存在表下表是他的基本属性user 里文件名Land.java控件JLabel:labelname=newJLabel 用户名 labelmima=new JLabel 密码 Jbutton: btenter=new JButton 确定 。成员方法private void JudgeString sqlStringbtcancel=newJButton清 空 。判定用户名和密码是否正确的成员方法代码:private void JudgeString sqlString if database.joinDB /假如数据库连接成功if database.q
10、uerysqlString / 假如 SQL 语句执行成功tryifdatabase.rs.isBeforeFirst / 假如指向记录集的在第一条记录的前面System.out.println 密码正确 。jf.setVisiblefalse 。/窗体不行见.close。/ 关闭数据库连接new Main 。/主窗体else System.out.println 错误 。newJOptionPane.showMessageDialognull,用户名或密码错误.,JOptionPane.ERROR_MESSAGE。catchException ex System.out.printlnex.
11、getMessage 。可编辑资料 - - - 欢迎下载精品名师归纳总结elseSystem.out.println 连接数据库不成功 . 。可编辑资料 - - - 欢迎下载精品名师归纳总结按钮“确定”的监听大事代码:public void actionPerformed ActionEvent e iftextname.getText.equals可编辑资料 - - - 欢迎下载精品名师归纳总结不能为空 . 。能为空 . 。new JOptionPane.showMessageDialognull,用户名else iftextmima.getText.equalsnew JOptionPan
12、e.showMessageDialognull,密码不可编辑资料 - - - 欢迎下载精品名师归纳总结elseString sql=select*fromuser where user_id = +textname.getText + and password = + textmima.getText+ 。System.out.printlnsql 。Judgesql。/ 调用成员方法,判定是否用户名和密码正确3 用户信息治理模块(1) 密码修改用户名将自动从表user 里检索出来,供用户选择以下是它的基本属性文件名xgmima.java控件名称Jlabel: lbe2、lbe3、lbe4、l
13、be5 JcomboBox: tf JpasswordField:pas1、pas2、 pas3 Jbutton: b1=new JButton 确定 。b2=new JButton 清空 。将全部用用户名读出来database.joinDB 。/ 连接数据库String sql=select * from user 。tryifdatabase.querysqlwhiledatabase.rs.next/ 依次将用户名读出String name=database.rs.getStringuser_id 。tf.addItemname 。可编辑资料 - - - 欢迎下载精品名师归纳总结catc
14、hException e确定“按钮”的监听大事代码:b1.addActionListenernew ActionListenerpublic void actionPerformedActionEvent e String name= + tf.getSelectedItem 。System.out.printlnname 。String sql=select * from user where user_id=+ name +。System.out.printlnsql 。tryifdatabase.querysqldatabase.rs.next。String ps1=pas1.getTe
15、xt 。String password=database.rs.getStringPassword 。ifps1.equalspasswordifpas2.getText.equalspas3.getTextString supdate=update user set password=+ pas3.getText+ where user_id=+ name +。database.executeSQLsupdate。new JOptionPane.showMessageDialognull, 密码更换成功!可编辑资料 - - - 欢迎下载精品名师归纳总结。elsenew JOptionPane
16、.showMessageDialognull, 两次密码不同!elsenew JOptionPane.showMessageDialognull, 旧密码不正确!可编辑资料 - - - 欢迎下载精品名师归纳总结catchException elSystem.out.printlnel 。 。(2) 用户信息添加和删除可编辑资料 - - - 欢迎下载精品名师归纳总结上半部分用来添加用户,下半部分用来删除用户基本属性如下文件名控件名AddDeleteUser.javaprivate JButton butACancel,butDCancel,butDelete,butOk private JCom
17、boBox cbUserName 。private JLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5 private JPasswordField pas1,pas2,pas3。private JTextField txtname 。/将全部用用户名读出来database.joinDB 。String sql=select * from user 。tryifdatabase.querysqlwhiledatabase.rs.next/ 记录集如有记录就通过循环将数据依次读出String name=database.rs.getStringuser_
18、id 。cbUserName.addItemname。catchException e/为添加按钮加大事butOk.addActionListenernew ActionListener public void actionPerformedActionEvent eiftxtname.getText.equals/判定是否为空new JOptionPane.showMessageDialognull,用户名可编辑资料 - - - 欢迎下载精品名师归纳总结不能为空 . 。else ifpas1.getText.equalsnew JOptionPane.showMessageDialognul
19、l,密码不可编辑资料 - - - 欢迎下载精品名师归纳总结能为空 . 。+ 。成功添加成功! 。else ifpas1.getText.equalspas2.getTextString sql=insertinto user values+txtname.getText+,+pas1.getTexttryifdatabase.executeSQLsql/ 如 SQL 执行new JOptionPane.showMessageDialognull, cbUserName.addItemtxtname.getText 。catchException ea可编辑资料 - - - 欢迎下载精品名师归纳
20、总结 。删除按钮监听大事代码butDelete.addActionListenernew ActionListener public void actionPerformedActionEvent eString name= + cbUserName.getSelectedItem 。/ 得到用户名String sql=select * from user where user_id=+ name +。tryifdatabase.querysqldatabase.rs.next。String pas=pas3.getText。String password=database.rs.getStr
21、ingPassword 。System.out.printlnpassword 。ifpas.equalspassword/ 比较密码是否与记录集里对应一可编辑资料 - - - 欢迎下载精品名师归纳总结致name + 。功! 。pas3.setText 。Stringsdelete=deletefromuserwhere user_id=+ ifdatabase.executeSQLsdeletenew JOptionPane.showMessageDialognull,删除成可编辑资料 - - - 欢迎下载精品名师归纳总结cbUserName.removeAllItems 。/ 将删除的条目
22、从 JcomboBox 中删除String sql1=select * from user。可编辑资料 - - - 欢迎下载精品名师归纳总结whiledatabase.rs.next/ 更新 JcomboBox 条目name1=database.rs.getStringuser_id 。cbUserName.addItemname1 。ifdatabase.querysql1 String可编辑资料 - - - 欢迎下载精品名师归纳总结正确! 。elsenew JOptionPane.showMessageDialognull,密码不可编辑资料 - - - 欢迎下载精品名师归纳总结 。4 同学
23、息治理模块(1) 添加信息catchException elSystem.out.printlnel 。可编辑资料 - - - 欢迎下载精品名师归纳总结该添加是依据先添加同学信息,再添加同学成果的次序进行的当同学信息添加完后,添加同学成果窗口的学号会自动将同学信息里没有添加过成果的成果显示出来添加同学信息中的“添加“按钮代码:butOk.addActionListenernew ActionListener public void actionPerformedActionEvent eifjtf1.getText.equalsnew JOptionPane.showMessageDialog
24、null,学号不可编辑资料 - - - 欢迎下载精品名师归纳总结能为空 。能为空 。能为空 。else ifjtf2.getText.equalsnew JOptionPane.showMessageDialognull,姓名不else ifjtf3.getText.equalsnew JOptionPane.showMessageDialognull,性别不可编辑资料 - - - 欢迎下载精品名师归纳总结else Stringsql=insertintostudvalues+jtf1.getText+,+jtf2.getText+,+ jtf3.getText+,+jtf4.getText+
25、,+jtf5.getText+,+jtf6.getText+,+ jtf7.getText+。可编辑资料 - - - 欢迎下载精品名师归纳总结添加成功! 。tryifdatabase.executeSQLsqlnew JOptionPane.showMessageDialognull,可编辑资料 - - - 欢迎下载精品名师归纳总结catchException ea 。添加同学成果信息读取学号信息database.joinDB 。String sql=select 学号 from stud where 学号 NOT INselect 学号 from grade 。tryifdatabase.q
26、uerysqlwhiledatabase.rs.nextString name=database.rs.getString 学号 。jnum.addItemname 。catchException ea添加同学成果信息“添加“按钮代码:butOk.addActionListenernew ActionListener public void actionPerformedActionEvent e String name= + jnum.getSelectedItem 。Stringsql=insertintogradevalues+name+,+jtf2.getText+,+jtf3.get
27、Text+,+jtf4.getText+,+jtf5.getText+,+jtf6.getText+,+ jtf7.getText+。可编辑资料 - - - 欢迎下载精品名师归纳总结添加成功! 。tryifdatabase.executeSQLsqlnew JOptionPane.showMessageDialognull,可编辑资料 - - - 欢迎下载精品名师归纳总结 。(2) 信息查看catchException ea可编辑资料 - - - 欢迎下载精品名师归纳总结分为查看同学基本信息和查看同学成果信息,由于代码和窗体大致相识,进取其一表达下面是他的属性文件名称v iewstud.jav
28、a控件名称JtextArea: te=new JTextArea 。代码为:class viewstud extends JInternalFrameviewstudsuper 查看同学基本信息。/ 窗体显示得名称Container con=getContentPane。/ 创建 JinternalFrame 的容器对象con.setLayoutnew BorderLayout 。/设定窗体布局JTextArea te=new JTextArea 。JScrollPane croll=new JScrollPanete 。 / 加载垂直水平滚动条con.addcroll,BorderLayou
29、t.CENTER。database.joinDB 。 / 连接数据库String sql=SELECT * FROM stud。try ifdatabase.querysqlwhiledatabase.rs.nextte.append学号: +database.rs.getString1+ 。te.append姓名 : +database.rs.getString2+ 。te.append性别 : +database.rs.getString3+ 。te.append年龄 :+database.rs.getString4+ 。te.append政治面貌 :+database.rs.getStr
30、ing5+ 。te.append系别 :+database.rs.getString6+ 。te.append班级 :+database.rs.getString7+ 。te.appendn 。catchSQLException ex可编辑资料 - - - 欢迎下载精品名师归纳总结 System.out.printlnex 。 this.setClosabletrue 。/关闭窗口可用setVisibletrue 。/ 窗体可见setBounds20,70,600,350。(3) 信息修改信息修改分为同学基本信息修改,同学成果信息修改,由于原理相像就以修改同学基本信息作为例子进行介绍下面是他的
31、属性信息文件名称x iugai.java控件名称private JButton butCancel,butOk,butShow 。privateJLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5,jLabel6,jLabel7。private JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7。显示信息按钮的监听大事代码如下:database.joinDB 。butShow.addActionListenernew ActionListenerpublic void actionPerformedActionEv
32、ent eifjtf1.getText.equalsnew JOptionPane.showMessageDialognull,请输入可编辑资料 - - - 欢迎下载精品名师归纳总结学号 。+jtf1.getText + 。else String sql=select* fromgrade where 学号 = + try可编辑资料 - - - 欢迎下载精品名师归纳总结ifdatabase.querysql/ 此处用了个 database.executeSQLsql提示 resultset 关闭if.database.rs.first可编辑资料 - - - 欢迎下载精品名师归纳总结JOptio
33、nPane.showMessageDialognull, 没有该同学信息 .。/ 下面是用来显示其他文本框里的内容else database.rs.first。jtf2.setTextdatabase.rs.getStringVBA开 发 。jtf3.setTextdatabase.rs.getString 高校英语 。jtf4.setTextdatabase.rs.getStringjava 开发 。jtf5.setTextdatabase.rs.getStringSQLServer 。jtf6.setTextdatabase.rs.getString 高等数学 。jtf7.setTextd
34、atabase.rs.getString 网站建设 。butOk.setEnabledtrue 。 catchNullPointerException upeSystem.out.printlnupe.toString 。catchSQLException sqleSystem.out.printlnsqle.toString 。catchException ex可编辑资料 - - - 欢迎下载精品名师归纳总结 。(4) 删除信息System.out.printlnex.toString 。可编辑资料 - - - 欢迎下载精品名师归纳总结删除时可以假如表信息下面是窗口属性文件名称shanchu
35、.javagrade 里有该生成果信息,就一并删除,假如没有就只删除表stud 里的控件名称private JButton butCancel,butOk 。private JLabel jLabel1 。private JTextField jtf1 。private JPanel p。butOk=new JButton 删除 。butCancel=new JButton 清空 删除按钮监听大事代码如下:butOk.addActionListenernew ActionListener可编辑资料 - - - 欢迎下载精品名师归纳总结public void actionPerformedAct
36、ionEvent eifjtf1.getText.equalsnew JOptionPane.showMessageDialognull,请输入可编辑资料 - - - 欢迎下载精品名师归纳总结学号 。+jtf1.getText + 。else String sql=select*fromstud where 学号 =+ try可编辑资料 - - - 欢迎下载精品名师归纳总结ifdatabase.querysql/ 此处用了个 database.executeSQLsql提示 resultset 关闭if.database.rs.firstJOptionPane.showMessageDialognull, 没有该同学信息 . 。可编辑资料 -