《基于JAVA的学生成绩管理系统源代码-精品.docx》由会员分享,可在线阅读,更多相关《基于JAVA的学生成绩管理系统源代码-精品.docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、18Java程序设计Java程序设计系专 业班 级08级嵌入式系统实验班学 号 26号姓 名 赵黎明题 目 学生成绩管理系统任课教师 彭洁 一、课程设计要求:1、用到书上(课本或实验册)上的至少三个实例;2、用到至少两种布局和至少四种组件;3、用到对话框;4、用到对数据库的查询、删除、添加和修改;5、最好用到输入输出流;6、具有一定的实际意义。二、用到的实例及实际意义:2.1 程序所用到的实例:1、Java2使用教程第10章例题10.12 P282;2、Java2使用教程第11章例题11.8 P323;3、Java2使用教程第15章所有例题均有使用作参考 P391-411;4、在其他参考书和网
2、上也有用到相关程序和代码,并有所参考和借鉴。2.2程序的实际意义: 本学生成绩管理系统具有对学生成绩进行管理的功能。并于数据库相连接,能够对学生的成绩、姓名、出生日期进行查询、添加和删除等,简捷方便,容易使用。三、程序代码及运行效果:3.1.1 主类代码:/*主类代码*/import javax.swing.*;import java.awt.*;import java.awt.event.*;class MyPanel extends JPanel Image img=Toolkit.getDefaultToolkit().getImage(c:/a.jpg); public void pa
3、int(Graphics g) g.drawImage(img,0,0,this); public class MainForm extends JFrame implements ActionListener JMenu mSystem=new JMenu(系统); JMenuItem mExit=new JMenuItem(退出); JMenu mOperate=new JMenu(数据操作); JMenuItem mAdd=new JMenuItem(添加); JMenuItem mDel=new JMenuItem(删除); JMenuItem mModify=new JMenuIte
4、m(修改); JMenu mQuery=new JMenu(查询); JMenuItem mName=new JMenuItem(按姓名查询); JMenuItem mScore=new JMenuItem(按成绩查询); JMenu mHelp=new JMenu(帮助); JMenuItem mAbout=new JMenuItem(软件信息); JMenuBar mBar=new JMenuBar(); MainForm() super(学生成绩管理系统); setSize(875,583); mSystem.add(mExit); mOperate.add(mAdd); mOperat
5、e.add(mDel); mOperate.add(mModify); mQuery.add(mName); mQuery.add(mScore); mHelp.add(mAbout); mBar.add(mSystem); mBar.add(mOperate); mBar.add(mQuery); mBar.add(mHelp); setJMenuBar(mBar); mExit.addActionListener(this); mAdd.addActionListener(this); mDel.addActionListener(this); mModify.addActionListe
6、ner(this); mName.addActionListener(this); mScore.addActionListener(this); mAbout.addActionListener(this); setContentPane(new MyPanel(); setVisible(true); public void actionPerformed(ActionEvent ae) if(ae.getSource()=mExit) System.exit(0); else if(ae.getSource()=mAbout) JOptionPane.showMessageDialog(
7、this,学生成绩管理系统nn应用科学学院nn2011年4月,软件信息,JOptionPane.INFORMATION_MESSAGE); else if(ae.getSource()=mAdd) new AddForm().setVisible(true); else if(ae.getSource()=mDel) new DeleteForm().setVisible(true); else if(ae.getSource()=mModify) new ModifyForm().setVisible(true); else if(ae.getSource()=mName) new Name
8、QueryForm().setVisible(true); else if(ae.getSource()=mScore) new ScoreQueryForm().setVisible(true); public static void main(String args) new MainForm(); 3.1.2 运行效果:3.2.1 修改数据:/*修改数据*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class ModifyForm extends JFra
9、me implements ActionListener JLabel labName=new JLabel(姓名:); JLabel labDate=new JLabel(出生日期:); JLabel labScore=new JLabel(成绩:); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnModify=new JButton(修改); JButton btnCancel=n
10、ew JButton(取消); JButton btnQuery=new JButton(查询); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; ModifyForm() super(修改数据); setSize(400,300); pan1.add(labName); pan1.add(txtN
11、ame); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnQuery); pan4.add(btnModify); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,Center); getContentPane().add(pan4,South); btnQue
12、ry.addActionListener(this); btnModify.addActionListener(this); btnCancel.addActionListener(this); btnModify.setEnabled(false); txtDate.setEditable(false); txtScore.setEditable(false); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnCancel) d
13、ispose(); else if(ae.getSource()=btnQuery) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) trycon=DriverManager.getConnection(jdbc:odbc:sun,gxy,123); sql=con.createStatement(); rs=sql.executeQuery(select * from 成绩表 where 姓名=+txtName.getText()+); if(rs.next() txtName.
14、setText(rs.getString(姓名); txtScore.setText(new Integer(rs.getInt(成绩).toString(); txtDate.setText(rs.getDate(出生日期).toString(); btnModify.setEnabled(true); txtDate.setEditable(true); txtScore.setEditable(true); else System.out.println(不存在该记录! ); btnModify.setEnabled(false); txtName.setText(); txtScore
15、.setText(); txtDate.setText(); txtDate.setEditable(false); txtScore.setEditable(false); catch(SQLException e) else if(ae.getSource()=btnModify) try System.out.println(Update 成绩表 set 出生日期=+txtDate.getText()+,成绩=+txtScore.getText()+ where 姓名=+txtName.getText()+); sql.executeUpdate(Update 成绩表 set 出生日期=
16、+txtDate.getText()+,成绩=+txtScore.getText()+ where 姓名=+txtName.getText()+); System.out.println(记录修改完毕!); btnModify.setEnabled(false); txtName.setText(); txtScore.setText(); txtDate.setText(); txtDate.setEditable(false); txtScore.setEditable(false); con.close(); catch(SQLException e) public static voi
17、d main(String args) new ModifyForm(); 3.2.2 运行效果:3.3.1 删除数据:/*删除数据*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class DeleteForm extends JFrame implements ActionListenerJLabel labName=new JLabel(姓名:); JLabel labDate=new JLabel(出生日期:); JLabel labScore=new J
18、Label(成绩:); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnDelete=new JButton(删除); JButton btnCancel=new JButton(取消); JButton btnQuery=new JButton(查询); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new
19、 JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; DeleteForm() super(删除数据); setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnQuery); pan4.add(btn
20、Delete); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,Center); getContentPane().add(pan4,South); btnQuery.addActionListener(this); btnDelete.addActionListener(this); btnCancel.addActionListener(this); btnDelete.setEnabl
21、ed(false);/取消删除按钮的功能 txtDate.setEditable(false); txtScore.setEditable(false); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnCancel) dispose(); else if(ae.getSource()=btnQuery)/实现查询功能 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(C
22、lassNotFoundException e) trycon=DriverManager.getConnection(jdbc:odbc:sun,gxy,123); sql=con.createStatement(); rs=sql.executeQuery(select * from 成绩表 where 姓名=+txtName.getText()+); if(rs.next() txtName.setText(rs.getString(姓名); txtScore.setText(new Integer(rs.getInt(成绩).toString(); txtDate.setText(rs
23、.getDate(出生日期).toString(); btnDelete.setEnabled(true);/使删除按钮功能实现 txtDate.setEditable(true); txtScore.setEditable(true); else System.out.println(不存在该记录!); btnDelete.setEnabled(false); txtName.setText(); txtScore.setText(); txtDate.setText(); txtDate.setEditable(false); txtScore.setEditable(false); ca
24、tch(SQLException e) else if(ae.getSource()=btnDelete)/实现删除功能 try System.out.println(Update 成绩表 set 出生日期=+txtDate.getText()+,成绩=+txtScore.getText()+ where 姓名=+txtName.getText()+); sql.executeUpdate(DELETE FROM 成绩表 where 姓名=+txtName.getText()+); System.out.println(记录删除完毕!); btnDelete.setEnabled(false)
25、; txtName.setText(); txtScore.setText(); txtDate.setText(); txtDate.setEditable(false); txtScore.setEditable(false); con.close(); catch(SQLException e) public static void main(String args) new DeleteForm(); 3.3.2 运行效果:3.4.1 添加数据:/*添加数据*/import javax.swing.*;import java.awt.*;import java.awt.event.*;
26、import java.sql.*;public class AddForm extends JFrame implements ActionListenerJLabel labName=new JLabel(姓名:); JLabel labDate=new JLabel(出生日期:); JLabel labScore=new JLabel(成绩:); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JBut
27、ton btnAdd=new JButton(添加); JButton btnCancel=new JButton(取消); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; AddForm() super(添加数据); setSize(400,300); pan1.add(labName); pan
28、1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnAdd); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,Center); getContentPane().add(pan4,South); btnAdd.addActionLis
29、tener(this); btnCancel.addActionListener(this); btnAdd.setEnabled(true); txtDate.setEditable(true); txtScore.setEditable(true); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) String recode,insert1,出生日期,姓名; int 成绩; if(ae.getSource()=btnCancel) this.dispose(); el
30、se if(ae.getSource()=btnAdd) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e) trycon=DriverManager.getConnection(jdbc:odbc:sun,gxy,123); sql=con.createStatement(); 姓名=txtName.getText(); 出生日期=txtDate.getText(); 成绩=Integer.parseInt(txtScore.getText(); recode=(+姓名+,+出生日期
31、+,+成绩+); insert1=INSERT INTO 成绩表 VALUES +recode; sql.executeUpdate(insert1); System.out.println(记录添加完毕!); btnAdd.setEnabled(false); txtName.setText(); txtScore.setText(); txtDate.setText(); con.close(); catch(SQLException e) public static void main(String args) new AddForm(); 3.4.2 运行效果:3.5.1 按姓名查询数
32、据:/*按姓名查询数据*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class NameQueryForm extends JFrame implements ActionListener JLabel labName=new JLabel(姓名:); JLabel labDate=new JLabel(出生日期:); JLabel labScore=new JLabel(成绩:); JTextField txtName=new JTextField(20);
33、JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnCancel=new JButton(取消); JButton btnQuery=new JButton(查询); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Stateme
34、nt sql; ResultSet rs; NameQueryForm() super(按姓名查询); setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnQuery); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3);