JR 精品文章 - 学生管理系统
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » Java入门 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
学生管理系统
wxjs055240203 原创   更新:2008-03-20 20:26:58  版本: 1.0   

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
public class StudentManagement extends JFrame implements ActionListener{
    JTabbedPane dbTabPane;
    JPanel JP1=new JPanel();//输入面板
    JPanel JP2=new JPanel();//浏览面板
    JPanel JP3=new JPanel();//查询面板
    JPanel JP4=new JPanel();//删除面板
    JButton JB1,JB2,JB3,JB4;
    JTextField JTF1,JTF2,JTF3,JTF4,JTF5,JTF6,JTF7;
    JTextArea JTA1,JTA2,JTA3;
    Choice c1;
    Connection conn;
    Statement stmt;
    public StudentManagement(){
        super("学生基本信息管理");
        setGUIComponent();
    }
    public void setGUIComponent(){
        Container c=getContentPane();
        c.setLayout(new BorderLayout());
        dbTabPane=new JTabbedPane();
        //定义录入面板
        JP1.setLayout(new BorderLayout());
        Panel p1=new Panel();
        p1.setLayout(new GridLayout(3,4,10,10));
        JP1.setBackground(Color.green);
        JLabel JLb1=new JLabel("学号");
        JLabel JLb2=new JLabel("姓名");
        JLabel JLb3=new JLabel("年龄");
        JLabel JLb4=new JLabel("性别");
        JLabel JLb5=new JLabel("班级");
        JLabel JLb6=new JLabel("籍贯");
        JTF1=new JTextField(10);
        JTF2=new JTextField(10);
        JTF3=new JTextField(10);
        JTF4=new JTextField(10);
        JTF5=new JTextField(10);
        c1=new Choice();c1.add("男");c1.add("女");
        JB1=new JButton("确定");
        p1.add(JLb1);p1.add(JTF1);
        p1.add(JLb2);p1.add(JTF2);
        p1.add(JLb3);p1.add(JTF3);
        p1.add(JLb4);p1.add(c1);
        p1.add(JLb5);p1.add(JTF4);
        p1.add(JLb6);p1.add(JTF5);
        JP1.add(p1,BorderLayout.NORTH);
        JP1.add(JB1,BorderLayout.SOUTH);
        JB1.addActionListener(this);
        dbTabPane.add("输入记录",JP1);
        //定义浏览所有信息面板
        JP2.setLayout(new BorderLayout());
        JP2.setBackground(Color.green);
        JTA1=new JTextArea(6,35);
        JB2=new JButton("浏览所有学生的信息");
        JP2.add(new JScrollPane(JTA1),BorderLayout.CENTER);
        JP2.add(JB2,BorderLayout.SOUTH);
        JB2.addActionListener(this);
        dbTabPane.add("浏览记录",JP2);
        //定义查询面板
        JP3.setLayout(new FlowLayout());
        JLabel JLB7=new JLabel("输入学号:");
        JTF6=new JTextField(10);
        JB3=new JButton("查询");
        JTA2=new JTextArea(4,35);
        JP3.add(JLB7);
        JP3.add(JTF6);
        JP3.add(JB3);
        JP3.add(new JScrollPane(JTA2));
        JB3.addActionListener(this);
        dbTabPane.add("查询记录",JP3);
        //定义删除面板
        JP4.setLayout(new FlowLayout());
        JLabel JB8=new JLabel("输入学号:");
        JTF7=new JTextField(10);
        JB4=new JButton("删除");
        JTA3=new JTextArea(4,35);
        JB4.addActionListener(this);
        JP4.add(JB8);
        JP4.add(JTF7);
        JP4.add(JB4);
        JP4.add(new JScrollPane(JTA3));
        dbTabPane.add("删除记录",JP4);
        c.add(BorderLayout.NORTH,dbTabPane);
    }
    public void connection(){//连接数据库
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String url="jdbc:odbc:mysql";
            String user="sa";
            String password="";
            conn=DriverManager.getConnection(url,user,password);
            stmt=conn.createStatement();
        }catch(ClassNotFoundException e1){
            System.err.println("驱动程序装载失败!");
        }catch(SQLException e2){
            e2.getSQLState();
            e2.getMessage();
        }
    }
    public void close(){//关闭执行语句和数据库
        try{
            if(stmt!=null)stmt.close();
            if(conn!=null)conn.close();
        }catch(SQLException e2){
            System.err.println("不能正常关闭");
        }
    }
    public void inputRecords(){//录入学生信息
        String sno=JTF1.getText();
        String sname=JTF2.getText();
        String sage=JTF3.getText();
        String ssex=c1.getSelectedItem();//JTF4.getText();
        String sclass=JTF4.getText();
        String snative=JTF5.getText();
        try{
            connection();
            String InsSQL;
            InsSQL="insert into student(学号,姓名,年龄,性别,班级,籍贯) values(?,?,?,?,?,?)";
            PreparedStatement pstmt=conn.prepareStatement(InsSQL);
            pstmt.setString(1,sno);
            pstmt.setString(2,sname);
            pstmt.setString(3,sage);
            pstmt.setString(4,ssex);
            pstmt.setString(5,sclass);
            pstmt.setString(6,snative);
            int result=pstmt.executeUpdate();
            if(result==0){
                conn.rollback();
                return;
            }
        }catch(SQLException e1){
            System.err.println(e1.getSQLState());
        }
        finally{
            close();
        }
    }
    public void viewRecords(){//浏览该班所有学生的记录
        try{
            String viewString="";
            connection();
            ResultSet rs=stmt.executeQuery("SELECT*From student");//
            ResultSetMetaData rsMeta=rs.getMetaData();
            int nums=rsMeta.getColumnCount();
            for(int i=1;i<=nums;i++){
                viewString+=rsMeta.getColumnName(i)+"\t";
            }
            viewString+="\n";
            while(rs.next()){
                for(int i=1;i<=nums;i++){
                    viewString+=rs.getString(i)+"\t";
                }
                viewString+="\n";
                JTA1.setText(viewString);
            }
        }catch(SQLException e1){
            System.err.println("浏览学生记录失败");
            System.err.println(e1.getSQLState()+e1.getMessage());
        }
        finally{
            close();
        }
    }
    public void viewSelectRecord(){//查询指定学号的学生记录
        try{
            connection();
            String selectString="";
            String str=JTF6.getText();
            String selectSQL="select * from student where 学号=?";
            PreparedStatement pstmt=conn.prepareStatement(selectSQL);
            pstmt.setString(1,str);
            ResultSet rs=pstmt.executeQuery();
            ResultSetMetaData rsMeta=rs.getMetaData();
            int nums=rsMeta.getColumnCount();
            for(int i=1;i<=nums;i++){
                selectString+=rsMeta.getColumnName(i)+"\t";
            }
            selectString+="\n";
            while(rs.next()){
                for(int i=1;i<=nums;i++){
                    selectString+=rs.getString(i)+"\t";
            }
            selectString+="\n";
            JTA2.setText(selectString);
        }
        }catch(SQLException e1){
            System.err.println("操作失败");
            System.err.println(e1.getSQLState()+e1.getMessage());
        }
        finally{
            close();
        }
    }
    public void deleteRecord(){//删除学号为no学生的记录
        try{
            connection();
            String deleteSQL="delete from student where 学号=?";
            PreparedStatement pstmt=conn.prepareStatement(deleteSQL);
            pstmt.setString(1,JTF7.getText());
            pstmt.executeUpdate();
            
            JTA3.setText("学号为"+JTF7.getText()+"的学生信息删除成功!");
            
        }catch(SQLException e1){
            System.err.println("操作失败");
            System.err.println(e1.getSQLState()+e1.getMessage());
        }
        finally{
            close();
        }
    }
    public void actionPerformed(ActionEvent e){
        if(e.getSource()==JB1){
            inputRecords();
        }
        else if(e.getSource()==JB2){
            viewRecords();
        }
        else if(e.getSource()==JB3){
            viewSelectRecord();
        }
        else if(e.getSource()==JB4){
            deleteRecord();
        }
    }
    public static void main(String[]args){
        StudentManagement sm=new StudentManagement();
        sm.setSize(600,220);
        sm.setVisible(true);
        sm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

版权声明   给作者写信
本篇文章对您是否有帮助?  投票:         投票结果:     18       3
作者其它文章:
作者全部文章
评论人:xndx 发表时间: Sat Mar 29 16:30:58 CST 2008
学习一下[:)]
评论人:lxm2010` 发表时间: Wed Apr 02 23:37:24 CST 2008
不错~~~~~~~~~~~~~?
评论人:vivi爱 发表时间: Thu Apr 03 23:28:18 CST 2008
不错啊~~我是新来的[8)]
评论人:exce4 发表时间: Sat Apr 05 17:21:42 CST 2008
今天终于上来了。 加油哦。[:D][:D]
评论人:ycg166 发表时间: Tue Apr 22 14:20:20 CST 2008
不错!
评论人:ycg166 发表时间: Tue Apr 22 14:21:00 CST 2008
不错!

这个文章共有 6 条评论
主题: 面向对象编程五大原则 上一篇文章
返回文章列表 返回〔Java入门〕
下一篇文章 主题: 把数字转换成中文货币表示


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号