JAVA程序设计报告学生信息管理系统(20210110005510)_第1页
JAVA程序设计报告学生信息管理系统(20210110005510)_第2页
JAVA程序设计报告学生信息管理系统(20210110005510)_第3页
JAVA程序设计报告学生信息管理系统(20210110005510)_第4页
JAVA程序设计报告学生信息管理系统(20210110005510)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JAVA 程序设计报告学生信息管理系统辅导老师:张松敏系别:计算机系专业:软件技术学号:0640836姓名:夏中成日期:2008-6-13目录需求分析。功能分析。模块设计。软件设计分析。数据库设计。模块及窗体设计。数据库模块设计用户登录识别模块用户信息管理模块1) 密码修改2)用户信息添加和删除104 学生息管理模块1)添加信息102)信息查看113)信息修改124)删除信息1415155 系统管理模块6 主窗体菜单设计五 总结。ooooooooooooooooo15参考资料:一 需求分析本系统的主要目的就是实现学生信息管理,使学生信息管理工作更加容易 ,从而提高工作效率,降低管理成本 .系统

2、中需要对拥护身份进行管理,采取登陆进入系统的形式功能分析1用户登录信息管理2用户信息管理3学生信息管理4系统管理模块设计数据库设计模块 用户登录识别模块 用户信息管理模块 息管理模块 理模块 计分析 数据库设计stude nt学生5用统四用(信息,户管 件设用户信息管理数据库名称:J: use吊tuq,grdde表user:存放登陆用户的用户名和密码系统首页学生信息管理系统管理,生基本信息 添加成绩修改息,一 I密码修改退出登陆重新登陆添加(请份库模块及用除设计将数据库的连接包装在一个dat/bOse类中,e:其目h块、1模块厶,避Sst库连接代码。F表是他的基本属性文件名成员变量成员方法da

3、tabase.javapublic static Conn ecti on cn; public static Statement st; public static ResultSet rs;public static boolea n join DB()public static boolean executeSQL(String sqlString)public static boolean query(String sqlString)代码如下:import java.sql.*;/ 引入包public class database public static Connection c

4、n; / 定义一个连接对象public static Statement st;/ 定义一个 SQL 语句对象public static ResultSet rs;/ 定义一个数据集public static boolean joinDB() /用来判断是否连接成功boolea n joinF lag;try joinF lag = true;通过调用java.lang中的Class类的forName方法来实现JDBC ODBC桥接器cn = DriverMa nager.getCo nn ectio n(jdbc:odbc:stude nt,sa,);/ 创建一个连接对 象cn.setCat

5、alog(student);/ 加载数据库st = cn.createStateme nt(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONL Y);返回一个可滚动的结果集,数据库变化时结果集跟着变化;不能用结果集更新数据库中的表return joi nF lag; catch (SQLExcepti on sqlEx) joinF lag = false; return joi nF lag; catch (ClassNotF oun dExcepti on notfoun dEX) joinF lag = false; ret

6、urn joi nF lag;public static boolean executeSQL(String sqlString) boolea n executeFlag;try st.execute(sqlStri ng); executeFlag = true; catch (Excepti on e) executeFlag = false;retur n executeFlag;public static boolean query(String sqlString) try rs = n ull;rs = st.executeQuery(sqlStri ng); catch (Ex

7、cepti on Ex) return false;return true;2用户登录识别模块代码封装在类Land里,所用到的信息保存在表user里F表是他的基本属性文件名控件成员方法Lan d.javaJLabel:labelname=newJLabel(用户名) labelmima=new JLabel(密码) Jbutton: btenter= new JButton(确定); btcancel=new JButton(清空);private void Judge(String sqlString)判断用户名和密码是否正确的成员方法代码:private void Judge(String

8、 sqlString) if (database.joi nDB() /如果数据库连接成功if (database.query(sqlString)如果 SQL 语句执行成功try/如果指向记录集的在第一条记录的前面jf.setVisible(false);/ 窗体不可见/关闭数据库连接new Main();/ 主窗体else newJOptio nPa ne().showMessageDialog( null,用户名或密码错误!,JOptio nPan e.ERROR_MESSAGE);catch(Excepti on ex) else按钮“确定”的监听事件代码:public void ac

9、ti on Performed (Actio nEvent e)if(text name.getText().equals()new JOptionPane().showMessageDialog(null,用户名不能为空!);else if(textmima.getText().equals()new JOptionPane().showMessageDialog(null,密码不能为空!);elseString sql=select * from user where user_id = + text name.getText() +and password = + textmima.ge

10、tText()+ ;Judge(sql);/调用成员方法,判断是否用户名和密码正确3用户信息管理模块(1)密码修改用户名将自动从表 user里检索出来,供用户选择 以下是它的基本属性文件名控件名称xgmima.javaJlabel: lbe2、lbe3、lbe4、lbe5JcomboBox: tfJpasswordField:pas1、pas2、pas3Jbutton: b1= new JButton(确定); b2=new JButton(清空);将所有用用户名读出来database.joi nDB(); 连接数据库String sql=select * from user; tryif(d

11、atabase.query(sql)依次将用户名读出 tf.addltem (n ame);catch(Excepti on e)确定“按钮”的监听事件代码:bl.addAct ion Liste ner(new Actio nListe ner()public void action Performed(Acti onEvent e)String name= + tf.getSelectedltem();Stri ng sql=select * from user where user_id=+ n ame +;tryif(database.query(sql)String ps1=pas1

12、.getText();if(ps1.equals(password)if(pas2.getText().equals(pas3.getText()String supdate=update user set password=+ pas3.getText()+ where user_id=+ n ame +;database.executeSQL(supdate);new JOptionPane().showMessageDialog(null,密码更改成功!);elsenew JOptionPane().showMessageDialog(null,两次密码不同!);elsenew JOpt

13、ionPane().showMessageDialog(null,旧密码不正确!);catch(Excepti on el);(2)用户信息添加和删除上半部分用来添加用户,下半部分用来删除用户 基本属性如下文件名控件名AddDeleteUser.javaprivate JButton butACa ncel,butDCa ncel,butDelete,butOk; private JComboBox cbUserName;private JLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5; private JPasswordField pas1,pas

14、2,pas3;private JTextField txtn ame;/将所有用用户名读出来database.jo in DB();String sql=select * from user;tryif(database.query(sql)/记录集若有记录则通过循环将数据依次读出cbUserName.addItem(name);catch(Exception e)/为添加按钮加事件 butOk.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)if(txtname.getText()

15、.equals()/判断是否为空new JOptionPane().showMessageDialog(null, 用户名不能为空 !);else if(pas1.getText().equals()new JOptionPane().showMessageDialog(null, 密码不能为空 !);else if(pas1.getText().equals(pas2.getText()String sql=insert into user values(+ txtname.getText() +,+ pas1.getText() +);tryif(database.executeSQL(s

16、ql)/ 若 SQL 执行成功new JOptionPane().showMessageDialog(null, 添加成功! ); cbUserName.addItem(txtname.getText();catch(Exception ea);删除按钮监听事件代码butDelete.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)String name= + cbUserName.getSelectedItem();/ 得到用户名String sql=select * from u

17、ser where user_id=+ name +;tryif(database.query(sql)String pas=pas3.getText();if(pas.equals(password)/ 比较密码是否与记录集里对应一致String sdelete=delete from user where user_id=+ name +;if(database.executeSQL(sdelete)new JOptionPane().showMessageDialog(null, 删除成功! ); pas3.setText();cbUserName.removeAllItems();/

18、将删除的条目从 JcomboBox 中删除String sql1=select * from user;if(database.query(sql1)/ 更新 JcomboBox 条目 cbUserName.addItem(name1); elsenew JOptionPane().showMessageDialog(null, 密码不正确! ); catch(Exception el) );4 学生息管理模块(1)添加信息该添加是按照先添加学生信息, 再添加学生成绩的次序进行的当学生信息添加完后, 添加学 生成绩窗口的学号会自动将学生信息里没有添加过成绩的成绩显示出来 添加学生信息中的“添加

19、“按钮代码:butOk.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) if(jtf1.getText().equals()new JOptionPane().showMessageDialog(null, 学号不能为空 ); else if(jtf2.getText().equals()new JOptionPane().showMessageDialog(null, 姓名不能为空 );else if(jtf3.getText().equals()new JOptionPane(

20、).showMessageDialog(null, 性别不能为空 );else String sql=insert into stud values(+ jtf1.getText() +,+ jtf2.getText() +,+ jtf3.getText()+,+ jtf4.getText()+,+ jtf5.getText()+,+ jtf6.getText()+,+ jtf7.getText()+);try if(database.executeSQL(sql) new JOptionPane().showMessageDialog(null, 添加成功! ); catch(Excepti

21、on ea) );添加学生成绩信息读取学号信息database.joinDB();String sql=select 学号 from stud where 学号 NOT IN(select 学号 from grade); tryif(database.query(sql)jnu m.addltem( name);catch(Excepti on ea)添加学生成绩信息“添加“按钮代码:butOk.addAct ion Liste ner(new Actio nListe ner()public void actio nPerformed(Actio nEvent e)String n ame=

22、 + jnu m.getSelectedltem();String sql=insert into grade values(+ name+,+ jtf2.getText() +,+ jtf3.getText()+,”+ jtf4.getText()+,+ jtf5.getText()+,+ jtf6.getText()+,+ jtf7.getText()+);tryif(database.executeSQL(sql)new JOptionPane().showMessageDialog(null,添加成功!);catch(Excepti on ea);(2 )信息查看分为查看学生基本信息和

23、查看学生成绩信息,因为代码和窗体大致相识,进取其一讲述F面是他的属性文件名称控件名称v iewstud.javaJtextArea: te=new JTextArea();代码为:class viewstud exte nds Jin ternalFrame viewstud()super(”查看学生基本信息);/窗体显示得名称Container con=getContentPane(); 创建 JinternalFrame 的容器对象 con.setLayout(new BorderLayout(); 设定窗体布局JTextArea te=new JTextArea();JScrollPan

24、e croll=new JScrollPane(te); / 加载垂直水平滚动条con .add(croll,BorderLayout.CENTER);database.joi nDB(); / 连接数据库Stri ng sql=SELECT * FROM stud;try if(database.query(sql)te.appe nd(n);catch(SQLExcepti on ex) this.setClosable(true);/ 关闭窗口可用setVisible(true);/ 窗体可见setBou nds(20,70,600,350);(3 )信息修改信息修改分为学生基本信息修改

25、,学生成绩信息修改,由于原理相似就以修改学生基本信息作为例子进行介绍F面是他的属性信息文件名称控件名称x iugai.javaprivate JButton butCancel,butOk,butShow;private JLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5,jLabel6,jLabel7; private JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7;显示信息按钮的监听事件代码如下:database.jo in DB();butShow.addActio nListe ner(new Act

26、io nListe ner()public void action Performed(Acti onEvent e)if(jtf1.getText().equals()new JOptionPane().showMessageDialog(null,请输入学号);else Stri ng sql=select * from grade where 学号=+ +jtf1.getText() +; tryif(database.query(sql)/ 此处用了个 database.executeSQL(sql)提示 resultset 关闭JOptionPane.showMessageDialo

27、g(null,没有该学生信息.);下面是用来显示其他文本框里的内容else butOk.setE nabled(true); catch(NullPo in terExceptio n upe)catch(SQLExcepti on sqle)catch(Excepti on ex);(4 )删除信息删除时可以如果表grade里有该生成绩信息,则一并删除,如果没有则只删除表 stud里的信息F面是窗口属性文件名称控件名称sha nchu.javaprivate JButton butCancel,butOk;private JLabel jLabell;private JTextField j

28、tfl;private JPa nel p; butOk=new JButton(删除);butCancel=new JButton(” 清空)删除按钮监听事件代码如下:butOk.addAct ion Liste ner(new Actio nListe ner()public void action Performed(Acti onEvent e) if(jtf1.getText().equals()new JOptionPane().showMessageDialog(null,请输入学号);else Stri ng sql=select * from stud where 学号=+ +jtf1.getText() +; tryif(database.query(sql) 此处用了个 database.executeSQL(sql)提示 resultset 关闭 JOptionPane.showMessageDialog(null,没有该学生信息.);else Stri ng sqq=delete from stud w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论