1、Java 程序设计系 专 业班 级学 号 15 号姓 名 刘振基题 目 学生成绩管理系统任课教师 彭杰一:要求1、 用到书上(课本或实验册)上的至少三个实例2、 用到至少两种布局和至少四种组件3、 用到对话框4、 用到对数据库的查询、删除、添加和修改5、 最好用到输入输出流6、 具有一定的实际意义二:内容本系统用 access 作为数据库,用到了书上的布局实例和数据库连接实例功能: 1、输入十个同学的学号,姓名,出生日期,二科成绩(学,大学英语) 。2、输入学号查询学生信息。 3、删除记录4、查询记录5、添加记录6、修改记录三:代码第一部分:public class main public s
2、tatic void main(String args) zhuchuangkou win=new zhuchuangkou();第二部分主界面:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;public class zhuchuangkou extends Frame implements ActionListenerButton button1,button2,button3,button4,tuichu;Panel p1,p2,p3;Label l1,l
3、2,l3;TextField a1,a2;Box b1,b2,b3,b4,b5;ss s;zhuchuangkou()button1=new Button(“登陆“);button2=new Button(“删除“);button3=new Button(“修改“);button4=new Button(“添加“);tuichu=new Button(“退出“);p1=new Panel();p2=new Panel();p3=new Panel();l1=new Label(“学生成绩管理“,Label.CENTER);l1.setFont(new Font(“宋体“,Font.BOLD,7
4、2);l1.setBackground(Color.green);l2=new Label(“登录名“);l3=new Label(“密码“);a1=new TextField(10);a2=new TextField(10);a2.setEchoChar(*);b1=Box.createVerticalBox();b1.add(l2);b1.add(Box.createVerticalStrut(8);b1.add(l3);b2=Box.createVerticalBox();b2.add(a1);b2.add(Box.createVerticalStrut(8);b2.add(a2);b4
5、=Box.createHorizontalBox();b4.add(button1);b4.add(Box.createHorizontalStrut(10);b4.add(tuichu);b3=Box.createHorizontalBox();b3.add(b1);b3.add(Box.createHorizontalStrut(10);b3.add(b2);b5=Box.createVerticalBox();b5.add(b3);b5.add(Box.createVerticalStrut(8);b5.add(b4);button1.addActionListener(this);bu
6、tton2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);tuichu.addActionListener(this);p1.add(l1);p2.add(b5);add(p1,BorderLayout.NORTH);add(p2,BorderLayout.CENTER);add(p3,BorderLayout.PAGE_END);addWindowListener(new WindowAdapter()public void windowClosing(Windo
7、wEvent e)dispose(););setBackground(Color.RED);setBounds(10, 10, 1000, 500);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=tuichu)System.exit(0);if(e.getSource()=button1)if(a1.getText().equals(“liuzhenji“)System.out.println(“wwwww“);dispose();elseSystem.out.pri
8、nt(“nishurucuowu“);第三部分选择操作:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;public class zhuchuangkou extends Frame implements ActionListenerButton button1,button2,button3,button4,tuichu;Panel p1,p2,p3;Label l1,l2,l3;TextField a1,a2;Box b1,b2,b3,b4,b5;ss s;
9、zhuchuangkou()button1=new Button(“登陆“);button2=new Button(“删除“);button3=new Button(“修改“);button4=new Button(“添加“);tuichu=new Button(“退出“);p1=new Panel();p2=new Panel();p3=new Panel();l1=new Label(“学生成绩管理“,Label.CENTER);l1.setFont(new Font(“宋体“,Font.BOLD,72);l1.setBackground(Color.green);l2=new Label
10、(“登录名“);l3=new Label(“密码“);a1=new TextField(10);a2=new TextField(10);a2.setEchoChar(*);b1=Box.createVerticalBox();b1.add(l2);b1.add(Box.createVerticalStrut(8);b1.add(l3);b2=Box.createVerticalBox();b2.add(a1);b2.add(Box.createVerticalStrut(8);b2.add(a2);b4=Box.createHorizontalBox();b4.add(button1);b4
11、.add(Box.createHorizontalStrut(10);b4.add(tuichu);b3=Box.createHorizontalBox();b3.add(b1);b3.add(Box.createHorizontalStrut(10);b3.add(b2);b5=Box.createVerticalBox();b5.add(b3);b5.add(Box.createVerticalStrut(8);b5.add(b4);button1.addActionListener(this);button2.addActionListener(this);button3.addActi
12、onListener(this);button4.addActionListener(this);tuichu.addActionListener(this);p1.add(l1);p2.add(b5);add(p1,BorderLayout.NORTH);add(p2,BorderLayout.CENTER);add(p3,BorderLayout.PAGE_END);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)dispose(););setBackground(Color.RED)
13、;setBounds(10, 10, 1000, 500);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=tuichu)System.exit(0);if(e.getSource()=button1)if(a1.getText().equals(“liuzhenji“)System.out.println(“wwwww“);dispose();elseSystem.out.print(“nishurucuowu“);第四部分查询界面实现:import java.awt
14、.*;import java.awt.event.*;import java.sql.*;import javax.swing.JOptionPane;public class ss extends Frame implements TextListener,ActionListenerButton xunzhao;TextField input;TextArea show;String s;int k;Connection con;Statement sql; int sum=0;ResultSet rs;ss()Panel p=new Panel();xunzhao= new Button
15、(“查找“);input= new TextField(10);show= new TextArea(6,43);p.add(new Label(“输入学号 “);p.add(input);p.add(xunzhao);xunzhao.addActionListener(this);show.addTextListener(this);show.setEditable(false);add(p,BorderLayout.NORTH);add(show,BorderLayout.CENTER);setBounds(10,30,500,200);setVisible(true);validate(
16、);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)dispose(););public void actionPerformed(ActionEvent ee) boolean boo=true;s=input.getText();k=Integer.parseInt(s);try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundException eee) System.out.println(“+ee
17、e);try con=DriverManager.getConnection(“jdbc:odbc:sun“,“gxy“,“123“);sql=con.createStatement();rs=sql.executeQuery(“SELECT * FROM chengjibiao “);while(rs.next()int number=rs.getInt(“number“);String name=rs.getString(“name“); String date=rs.getString(“birthday“);int math=rs.getInt(“math“);int english=
18、rs.getInt(“english“);if(number=k) boo=false;show.setText(null);show.append(“学号:“+number+“ 姓名:“+name+“ 出生:“+date+“ 数学 “+math+“ 英语 “+english);show.append(“n“);con.close();if(boo)JOptionPane.showMessageDialog(this, “你输入的学号不存在“);catch(SQLException eee) System.out.println(eee); 第五部分删除:import java.awt.*;i
19、mport java.awt.event.*;import java.sql.*;import javax.swing.JOptionPane;public class shanchu extends Frame implements TextListener,ActionListenerButton xunzhao;TextField input;TextArea show;String s;int k,s1,j;Connection con;Statement sql; int sum=0;ResultSet rs;shanchu()Panel p=new Panel();xunzhao=
20、 new Button(“删除“);input= new TextField(10);show= new TextArea(6,43);p.add(new Label(“输入要删除的 “ +“学号“);p.add(input);p.add(xunzhao);xunzhao.addActionListener(this);show.addTextListener(this);show.setEditable(false);add(p,BorderLayout.NORTH);add(show,BorderLayout.CENTER);setBounds(10,30,500,200);setVisi
21、ble(true);validate();addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)dispose(););public void actionPerformed(ActionEvent ee) boolean boo=true;s=input.getText();k=Integer.parseInt(s);String m,dir;try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundExcept
22、ion eee) System.out.println(“+eee);try con=DriverManager.getConnection(“jdbc:odbc:sun“,“gxy“,“123“);sql=con.createStatement();rs=sql.executeQuery(“SELECT * FROM chengjibiao“);while(rs.next()int number=rs.getInt(2);String name=rs.getString(3); String date=rs.getString(“birthday“);int math=rs.getInt(“
23、math“);int english=rs.getInt(“english“);if(number=k)show.setText(“你删除了:“);show.append(“学号:“+number+“ 姓名:“+name+“ 出生:“+date+“ 数学 “+math+“ 英语 “+english);show.append(“n“);m=“DELETE FROM chengjibiao WHERE number=“+k+“;sql.executeUpdate(m);con.close();catch(SQLException e) System.out.println(e); 第六部分修改:i
24、mport java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.JOptionPane;public class xiugai extends Frame implements TextListener,ActionListenerButton charu;TextField input1,input2,input3,input4,input5,input6;TextArea show;Panel p1,p2;int k,s1,j;Connection con;Statement sql; int su
25、m=0;ResultSet rs;xiugai()p1=new Panel();p2=new Panel();charu= new Button(“修改“);input1= new TextField(10);input2= new TextField(10);input3= new TextField(10);input4= new TextField(10);input5= new TextField(10);input6= new TextField(10);show= new TextArea(6,43);p1.add(new Label(“请输入要修改的学号 “);p1.add(ne
26、w Label(“number“);p1.add(input1);p2.add(new Label(“请输入修改的数据 “);p2.add(new Label(“name“);p2.add(input2);p2.add(new Label(“date“);p2.add(input3);p2.add(new Label(“math“);p2.add(input4);p2.add(new Label(“english“);p2.add(input5);p2.add(charu);charu.addActionListener(this);show.addTextListener(this);sho
27、w.setEditable(false);add(p1,BorderLayout.NORTH);add(p2,BorderLayout.CENTER);setBounds(10,30,1200,200);setVisible(true);validate();addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)dispose(););public void actionPerformed(ActionEvent ee) boolean boo=true;String s0,s1,s2,s3,s
28、4,s5,insert1,recode,name,date;int m0,m1,m2,m3,number,math,english;s1=input1.getText();m1=Integer.parseInt(s1);number=m1;s4=input4.getText();m2=Integer.parseInt(s4);math=m2;s5=input5.getText();m3=Integer.parseInt(s5);english=m3;try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundExc
29、eption eee) System.out.println(“+eee);try con=DriverManager.getConnection(“jdbc:odbc:sun“,“gxy“,“123“);sql=con.createStatement();recode=“(“+m0+“,“+number+“,“+“+name+“+“,“+“+date+“+“,“+math+“,“+english+“)“;insert1=“UPDATE chengjibiao SET math=“+math+“,english=“+english+“ WHERE number=“+number+“;sql.e
30、xecuteUpdate(insert1); catch(SQLException e) System.out.println(e); 第七部分添加:import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.JOptionPane;public class charu extends Frame implements TextListener,ActionListenerButton charu;TextField input1,input2,input3,input4,input5,input
31、6;TextArea show;int k,s1,j;Connection con;Statement sql; int sum=0;ResultSet rs;charu()Panel p=new Panel();charu= new Button(“插入“);input1= new TextField(10);input2= new TextField(10);input3= new TextField(10);input4= new TextField(10);input5= new TextField(10);input6= new TextField(10);show= new Tex
32、tArea(6,43);p.add(new Label(“请输入要插入的数据 “);p.add(new Label(“ID“);p.add(input6);p.add(new Label(“number“);p.add(input1);p.add(new Label(“name“);p.add(input2);p.add(new Label(“date“);p.add(input3);p.add(new Label(“math“);p.add(input4);p.add(new Label(“english“);p.add(input5);p.add(charu);charu.addActio
33、nListener(this);show.addTextListener(this);show.setEditable(false);add(p,BorderLayout.NORTH);add(show,BorderLayout.CENTER);setBounds(10,30,1200,200);setVisible(true);validate();addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)dispose(););public void actionPerformed(Action
34、Event ee) boolean boo=true;String s0,s1,s2,s3,s4,s5,insert1,recode,name,date;int m0,m1,m2,m3,number,math,english;s0=input5.getText();m0=Integer.parseInt(s0);s1=input1.getText();m1=Integer.parseInt(s1);number=m1;s2=input2.getText();name=s2;s3=input3.getText();date=s3;s4=input4.getText();m2=Integer.pa
35、rseInt(s4);math=m2;s5=input5.getText();m3=Integer.parseInt(s5);english=m3;try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundException eee) System.out.println(“+eee);try con=DriverManager.getConnection(“jdbc:odbc:sun“,“gxy“,“123“);sql=con.createStatement();recode=“(“+m0+“,“+number
36、+“,“+“+name+“+“,“+“+date+“+“,“+math+“,“+english+“)“;insert1=“INSERT INTO chengjibiao VALUES “+recode;sql.executeUpdate(insert1);show.setText(“你插入了:“);show.append(“学号:“+number+“ 姓名:“+name+“ 出生:“+date+“ 数学 “+math+“ 英语 “+english);show.append(“n“);catch(SQLException e) System.out.println(e);JOptionPane.showMessageDialog(this, “你输入的不正确“); 四:运行效果五总结:本次课程设计,让我获益匪浅,不仅更深入的了解 Java 这门学科,更使自己有了继续探索的兴趣。于个人而言,在程序设计的过程中,我深感“认真严谨”这个词的重要性,一点点小的马虎,便会导致整个程序不能正常运行。在今后的学习中,我定将“认真严谨时刻作为自的谨言。与此同时,本小组成员的互帮互助,让我体会到了团结的力量,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。总之,此次课程设计在我的学生生涯中启上了至关重要的作用。最后,真诚的感谢彭老师的指导和教诲。