视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据库课程设计报告学生信息管理系统
2025-09-28 19:37:59 责编:小OO
文档
课 程 大 作 业 报 告

课程名称:   数据库课程设计     

作业题目:   学生信息管理系统  

专    业:     

班    级:         

学    号:     

姓    名:          

指导教师:             

2008年 6月  29 日

目          录

1.课程大作业目的    1

1.1  课程实习目的    1

2.课程大作业题目描述和要求    1

2.1 课程大作业题目描述    1

2.2课程大作业题目要求    1

根据实际应用,提供学生必要的信息,如:添加学生信息、修改学生信息、删除学生信息、学生选课查询等;提供强大的查询功能,不同用户可以根据需求,以不同的条件查询;    1

3.课程大作业报告内容    1

3.1 课程完成过程    1

第三学期数据库课程设计我选了学生信息管理系统,因为数据库和其他语言之间的连接不会,就通过对网上一些资料的查看,知道了一些重要的连接字符串和关键字。最后能够连接成功,程序可运行的。    1

3.2系统功能介绍    1

3.3系统源代码介绍    1

3.3.1 系统主界面    1

3.3.2 添加学生信息界面    5

3.3.3  修改学生信息界面    7

3.3.4  删除学生信息模块    9

3.3.5 精确查询模块    9

3.3.6 匹配查询模块    9

3.3.7 学生选课查询模块    9

4.总结    9

1.课程大作业目的

1.1  课程实习目的

      做大作业的过程中复习上课学过的数据库知识,并系统地归纳、分析知识间的联系,把它应用到实践中去。

2.课程大作业题目描述和要求

2.1 课程大作业题目描述 

用JAVA编写一个学生信息管理系统,用SQL存储数据,实现几个简单的功能。

2.2课程大作业题目要求

根据实际应用,提供学生必要的信息,如:添加学生信息、修改学生信息、删除学生信息、学生选课查询等;提供强大的查询功能,不同用户可以根据需求,以不同的条件查询;

3.课程大作业报告内容

3.1 课程完成过程

第三学期数据库课程设计我选了学生信息管理系统,因为数据库和其他语言之间的连接不会,就通过对网上一些资料的查看,知道了一些重要的连接字符串和关键字。最后能够连接成功,程序可运行的。

3.2系统功能介绍

能进行学生选课查询,学生总信息查询,删除学生信息,添加学生信息,修改学生信息,总体查询等;

不同用户可以根据需求,以不同的条件查询,可以满足用户的简单需求。

3.3系统源代码介绍

3.3.1 系统主界面

运行程序以后,就可以看到程序的主界面。七个按钮对应七个相应功能,添加学生信息,修改学生信息,精确查询,整体查询,按姓名匹配查询,学生选课查询,删除学生信息。

代码如下:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.util.Hashtable;

public class manager extends JFrame implements ActionListener{

     tianjia    添加学生信息=null;          

     update  修改学生信息=null;          

     find    精确查询=null; 

     ztcx  整体查询=null; 

     mhcx  按姓名匹配查询=null;

     about 关于=null;

     xuanke 学生选课查询=null;

     delstu 删除学生信息=null;

     JButton add,update,acheck,wcheck,mcheck,bbbb,xk,del;     

   Container con=null;

                           

   CardLayout card=null;                       

   JLabel label=null;                          

   JPanel pCenter;

   JPanel aa,bb;

   ImageIcon   img;

   public manager(){

     JPanel aa=new JPanel();

     JPanel bb=new JPanel();

     aa.setLayout(new GridLayout(3,3)); 

     add=new JButton("添加学生信息");

     update=new JButton("修改学生信息");

     acheck=new JButton("精确查询");

     wcheck=new JButton("整体查询");

     mcheck=new JButton("按姓名匹配查询");

    // tongji=new JButton("统计学生成绩");

     xk=new JButton("学生选课查询");

     del=new JButton("删除学生信息");

     bbbb=new JButton(img2);

     aa.add(add);

     aa.add(update);

     aa.add(acheck);

     aa.add(wcheck);

     aa.add(mcheck);

     aa.add(xk);

     aa.add(del);

     bb.add(bbbb);

     label=new JLabel("欢迎使用学生信息管理系统",JLabel.CENTER);

     label.setFont(new Font("TimesRoman",Font.BOLD+Font.ITALIC,32));

     label.setForeground(Color.blue);

     add.addActionListener(this);

     update.addActionListener(this);

     acheck.addActionListener(this);

     wcheck.addActionListener(this);

     mcheck.addActionListener(this);

     bbbb.addActionListener(this);

     xk.addActionListener(this);

     del.addActionListener(this);

     card=new CardLayout();

     con=getContentPane();

     pCenter=new JPanel();

     pCenter.setLayout(card); 

    

     添加学生信息=new tianjia();

     修改学生信息=new update();

     精确查询=new find(this);

     整体查询=new ztcx();

     按姓名匹配查询=new mhcx();

     学生选课查询=new xuanke();

     删除学生信息=new delstu();

     关于=new about(this);

     pCenter.add("欢迎语界面",label);

     pCenter.add("添加界面添加学生信息);

     pCenter.add("修改界面修改学生信息);    

     pCenter.add("整体查询界面整体查询);

     pCenter.add("匹配查询界面按姓名匹配查询);

     pCenter.add("选课查询界面学生选课查询);

     pCenter.add("删除学生界面删除学生信息);

     con.add(aa,BorderLayout.NORTH);

     con.add(bb,BorderLayout.SOUTH);

     con.add(pCenter,BorderLayout.CENTER);

     con.validate();

     addWindowListener(new WindowAdapter()

                    { public void windowClosing(WindowEvent e)

                       {

                          System.exit(0);

                         }

                    });

    setVisible(true);

    setBounds(320,150,720,450);

    validate();

   }

   public void actionPerformed(ActionEvent e)

   {

     if(e.getSource()==add)

       {

         card.show(pCenter,"添加界面");

       }

     else if(e.getSource()==update)

       {

         card.show(pCenter,"修改界面");

       }

     else if(e.getSource()==acheck)

      {

         精确查询.setVisible(true);

      }

     else if(e.getSource()==wcheck)

      {

         card.show(pCenter,"整体查询界面");

      }

      else if(e.getSource()==mcheck)

      {

         card.show(pCenter,"匹配查询界面");

      }

      else if(e.getSource()==xk)

      {

         card.show(pCenter,"选课查询界面");

      }

      else if(e.getSource()==del)

      {

         card.show(pCenter,"删除学生界面");

      }

      else if(e.getSource()==bbbb){

         关于.setVisible(true);

      }

   }

  public static void main(String args[])

   {

     new manager();

   }

      

   

}

3.3.2 添加学生信息界面:

添加学生信息模块是本系统的主要的功能模块之一。在本模块中,完成了对数据库的数据插入操作,我们可以通过次模块往数据库中轻松插入数据。

主要代码如下:

public tianjia(){

   

      学号=new JTextField(15);

      姓名=new JTextField(15);

      性别=new JTextField(15);

      年龄=new JTextField(15);

      系别=new JTextField(15);

      电话=new JTextField(15);

      确定=new JButton("确定");

    重置=new JButton("重置");

    确定.addActionListener(this);

    重置.addActionListener(this);

   Box box1=Box.createHorizontalBox();

   box1.add(new JLabel("学 号:",JLabel.CENTER));

   box1.add(学号);

   Box box2=Box.createHorizontalBox();              

   box2.add(new JLabel("姓 名:",JLabel.CENTER));

   box2.add(姓名);

   Box box3=Box.createHorizontalBox();              

   box3.add(new JLabel("性 别:",JLabel.CENTER));

   box3.add(性别);

   Box box4=Box.createHorizontalBox();              

   box4.add(new JLabel("年 龄:",JLabel.CENTER));

   box4.add(年龄);

   Box box5=Box.createHorizontalBox();              

   box5.add(new JLabel("系 别:",JLabel.CENTER));

   box5.add(系别);

   Box box6=Box.createHorizontalBox();              

   box6.add(new JLabel("电 话:",JLabel.CENTER));

   box6.add(电话);

   Box boxH=Box.createVerticalBox();              

   boxH.add(box1);

   boxH.add(box2);

   boxH.add(box3);

   boxH.add(box4);

   boxH.add(box5);

   boxH.add(box6);

   boxH.add(Box.createVerticalGlue());          

   JPanel pCenter=new JPanel();

   pCenter.add(boxH);

   setLayout(new BorderLayout());

   add(pCenter,BorderLayout.CENTER);

   JPanel pSouth=new JPanel();

   pSouth.add(确定);

   pSouth.add(重置);

   add(pSouth,BorderLayout.SOUTH);

   validate();

   

  }

  public void actionPerformed(ActionEvent e){

       String name="";

     String url="jdbc:odbc:diaoyong";     

     String s1="";

     String s2="";

     String s3="";

     String s4="";

     String s5="";

     String s6="";

       try{

         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

         }catch(java.lang.ClassNotFoundException eee){}

     s1=学号.getText();

     s2=姓名.getText();

     s3=性别.getText();

     s4=年龄.getText();

     s5=系别.getText();

     s6=电话.getText();

     String sql="insert into s values(?,?,?,?,?,?)";

     if(e.getSource()==确定){

           if(s1==""){String warning="必须输入学生学号!";

    JOptionPane.showMessageDialog(this,warning,警告",JOptionPane.WARNING_MESSAGE);

             }

         else{

                 String m="添加此学生信息!";

                Int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,                                 JOptionPane.INFORMATION_MESSAGE);

             if(ok==JOptionPane.YES_OPTION){

                 try{

                 Connection con=DriverManager.getConnection(url,"",null);

                Statement stmt=con.createStatement();

                PreparedStatement ps=con.prepareStatement(sql);

                ps.setString(1,s1);

                ps.setString(2,s2);

                ps.setString(3,s3);

                ps.setString(4,s4);

                ps.setString(5,s5);

                ps.setString(6,s6);

                ps.executeUpdate();

                stmt.close();

                con.close();}catch(SQLException ex){System.out.println(ex.getMessage());}

             }      

                      }

         学号.setText(null);

        姓名.setText(null);

        系别.setText(null);

        性别.setText(null);

        年龄.setText(null);

        电话.setText(null);

     }

      if(e.getSource()==重置)

      { 

        学号.setText(null);

        性别.setText(null);

        系别.setText(null);

        姓名.setText(null);

        年龄.setText(null);

        电话.setText(null);

        } 

  }

3.3.3  修改学生信息界面

修改学生信息也是系统的主要操作模块之一。输入学生学号后,系统会自动根据数据库中记录的学生记录查出相应信息,为你的修改带来方便。修改学生信息界面如下:

关键代码如下:

  public void actionPerformed(ActionEvent e){

       String snum=null;

     String s1=null;

     String s2="";

     String s3="";

     String s4="";

     String s5="";

     String s6="";

     String url="jdbc:odbc:diaoyong";

     

     

       try{

             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

         }catch(java.lang.ClassNotFoundException eee){}

      

      if(e.getSource()==开始修改){

          snum=学号.getText();

          String sql="select * from s where snum='"+snum+"'";

        

          try{

            Connection con=DriverManager.getConnection(url,"",null);

            Statement stmt=con.createStatement();

            ResultSet rs=stmt.executeQuery(sql);

            while(rs.next()){

             s1=rs.getString("snum");

             s2=rs.getString("sname");

             s3=rs.getString("ssex");

             s4=rs.getString("sage");

             s5=rs.getString("dnum");

             s6=rs.getString("sphone");

            }

            stmt.close();

            con.close();

            }catch(SQLException ex){System.out.println(ex.getMessage());}

        if(s1!=null){

            录入修改.setEnabled(true);

            姓名.setText(s2);

            性别.setText(s3);

            年龄.setText(s4);

            系别.setText(s5);

            电话.setText(s6);

            确认.setText("系统中存在该学生,请修改吧!");

            }

        else {

            确认.setText("系统中不存在该学生,请到添加功能下添加吧!");

            姓名.setText(null);                                

            性别.setText(null);

            年龄.setText(null);

            系别.setText(null);

            电话.setText(null);

        }

      }  

      if(e.getSource()==录入修改){

          snum=学号.getText();

          s2=姓名.getText();

          s3=性别.getText();

          s4=年龄.getText();  

          s5=系别.getText(); 

        s6=电话.getText();   

          String sql2="update s set sname='"+s2+"'"+" where snum='"+snum+"'";

        String sql3="update s set ssex='"+s3+"'"+" where snum='"+snum+"'";

        String sql4="update s set sage='"+s4+"'"+" where snum='"+snum+"'";

        String sql5="update s set dnum='"+s5+"'"+" where snum='"+snum+"'";

        String sql6="update s set sphone='"+s6+"'"+" where snum='"+snum+"'";

          try{

            Connection con=DriverManager.getConnection(url,"",null);

            Statement stmt=con.createStatement();

            stmt.executeUpdate(sql2);

            stmt.executeUpdate(sql3);

            stmt.executeUpdate(sql4);

            stmt.executeUpdate(sql5);

            stmt.executeUpdate(sql6);

            stmt.close();

            con.close();

            }catch(SQLException exx){System.out.println(exx.getMessage());}

        学号.setText(null);

        姓名.setText(null);                                

        性别.setText(null);

        年龄.setText(null);

        系别.setText(null);

        电话.setText(null);

        确认.setText(null);

        } 

      

   if(e.getSource()==重置)

      { 

          学号.setText(null);

        姓名.setText(null);                                

        性别.setText(null);

        年龄.setText(null);

        系别.setText(null);

        电话.setText(null);

        确认.setText(null);

      }

  }

3.3.4  删除学生信息模块

       用户可以根据实际情况删除不必要的数据,删除时以学号为删除条件。

3.3.5 精确查询模块

用户可以根据学生学号查到学生的所有相关信息。

3.3.6 匹配查询模块

       实际应用时,用户可能只知道一个学生的姓,具体的名字和学号都不知道,我们可以通过该模块查出所有符合条件的学生,再从中排除,找到需要的学生信息。

3.3.7 学生选课查询模块

根据学生学号,我们可以看到该学生的选课情况。

4.总结

通过这次课程大作业,对一些基础的知识有了一定的加深。同时学会充分利用网上资源,进行自我学习,自我进步。这次的大作业练习,使我更系统地掌握了课本上的知识,并把它们应用到实践中去,锻炼了我的动手能力。我认为的我的数据库学习,这才仅仅是个开始,还有更多的知识我要去学。

参考文献: 

 [1]李尊朝,苏军等.  Java语言程序设计(第二版).  北京:中国铁道出版社,2007,12.

[2]陆慧娟.  数据库原理与应用. 北京:科学出版社,2006,12.下载本文

显示全文
专题