学生管理系统源码.doc_第1页
学生管理系统源码.doc_第2页
学生管理系统源码.doc_第3页
学生管理系统源码.doc_第4页
学生管理系统源码.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

/* * 功能:简易学生管理系统 * 1.能过姓名查询; * 2.增.删.改学生信息 * */package com.sutmanage.version2;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.util.*;import javax.swing.*;import com.mysql.jdbc.PreparedStatement;import java.sql.*;public class StuManageSystemVersion1 extends JFrame implements ActionListener/定义组件,界面由三部分组成,上部是姓名查询部分,为一个JPanel,中间是一个JScorllPane,底部也是一个JPanel,放了三个按钮JPanel top,bottom;JScrollPane jsp;JTable jt;JButton search,add,delete,update;JLabel name;JTextField jtf;StuModel sm=null;public StuManageSystemVersion1()/创建组件/Top组件top=new JPanel();name=new JLabel(请输入姓名);jtf=new JTextField(22);search=new JButton(查询);search.addActionListener(this);top.add(name);top.add(jtf);top.add(search);sm=new StuModel();sm.queryStu(select * from stus, null);jt=new JTable(sm);jt.setSelectionBackground(Color.RED);jsp=new JScrollPane(jt);/底部组件bottom=new JPanel();add=new JButton(增加);add.addActionListener(this);delete=new JButton(删除);delete.addActionListener(this);update=new JButton(修改);update.addActionListener(this);bottom.add(add);bottom.add(delete);bottom.add(update);/添加组件this.add(top,BorderLayout.NORTH);this.add(jsp,BorderLayout.CENTER);this.add(bottom,BorderLayout.SOUTH);/设置窗体属性this.setSize(400,300);this.setTitle(学生管理系统);int w=Toolkit.getDefaultToolkit().getScreenSize().width;int h=Toolkit.getDefaultToolkit().getScreenSize().height;this.setLocation(w/2-200, h/2-150);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);public static void main(String args) / TODO Auto-generated method stubnew StuManageSystemVersion1();/更新数据模型public void updStuModel()sm=new StuModel();sm.queryStu(select * from stus, null);jt.setModel(sm);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif(e.getSource()=search)String s=jtf.getText().trim();String name=s;String sql=;if(s.length()!=0)sql=select * from Stus where StuName=?;else if(s.length()=0)sql=select * from Stus;name=null;sm=new StuModel();sm.queryStu(sql, name);jt.setModel(sm);jtf.setText();else if(e.getSource()=add)Boolean flag=true;while(flag)AddNewStu ans=new AddNewStu(this, 添加新学生, true);/更新数据模型this.updStuModel();/确认是否添加新的学生int i=JOptionPane.showConfirmDialog(this, 是否继续添加学生?,JOptionPane.YES_NO_OPTION);if(i=JOptionPane.NO_OPTION)flag=false;else if(e.getSource()=delete)if(jt.getSelectedRow()=-1)JOptionPane.showMessageDialog(this, 请先选择一行数据);return;elseint selectID=jt.getSelectedRow();String stuID=jt.getValueAt(selectID, 0).toString();String sql=delete from stus where stuID=?;sm=new StuModel();sm.updStu(sql, stuID);/更新数据模型this.updStuModel();else if(e.getSource()=update)if(jt.getSelectedRow()=-1)JOptionPane.showMessageDialog(this, 请先选择一行数据);return;elseint id=jt.getSelectedRow();sm=new StuModel();sm.queryStu(select * from stus, null);UpdateStu us=new UpdateStu(this, 修改学生信息, true,sm,id);/更新数据模型this.updStuModel();/* * 这是我的一个Stu表的模型 * */package com.sutmanage.version2;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Vector;import javax.swing.table.AbstractTableModel;import com.mysql.fabric.xmlrpc.base.Array;public class StuModel extends AbstractTableModel ResultSet rs;Vector cloumn;Vector row;SqlHelper sh;/ 查询数据public void queryStu(String sql, String args) / 中间的显示组件cloumn = new Vector();cloumn.add(学生ID);cloumn.add(姓名);cloumn.add(年龄);cloumn.add(性别);cloumn.add(系别);row = new Vector();sh = new SqlHelper();rs = sh.query(sql, args);try while (rs.next() Vector hang = new Vector();hang.add(rs.getInt(1);hang.add(rs.getString(2);hang.add(rs.getInt(3);hang.add(rs.getString(4);hang.add(rs.getString(5);row.add(hang); catch (Exception e) / TODO: handle exceptionsh.close();/ 增.删.改操作public boolean updStu(String sql, String args) sh = new SqlHelper();return sh.updSQL(sql, args);Override/ 得到共有多少列public int getColumnCount() / TODO Auto-generated method stubreturn this.cloumn.size();Override/ 得到共有多少行public int getRowCount() / TODO Auto-generated method stubreturn this.row.size();Override/ 得到某行某列的值public Object getValueAt(int rowIndex, int columnIndex) / TODO Auto-generated method stubreturn this.row.get(rowIndex).get(columnIndex);Overridepublic String getColumnName(int index) / TODO Auto-generated method stubreturn this.cloumn.get(index);package com.sutmanage.version2;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class AddNewStu extends JDialog implements ActionListener / 定义swing组件JPanel top, bottom, left;JLabel stuID, stuName, stuAge, stuSex, stuDepart;JTextField id, name, age, sex, depart;JButton save, cancel;StuModel sm = null;/ 构造函数public AddNewStu(JFrame owner, String title, boolean modal) super(owner, title, modal);/ 创建组件top = new JPanel(new GridLayout(5, 1);left = new JPanel(new GridLayout(5, 1);stuID = new JLabel(学生ID, JLabel.CENTER);stuName = new JLabel(姓名, JLabel.CENTER);stuAge = new JLabel(年龄, JLabel.CENTER);stuSex = new JLabel(性别, JLabel.CENTER);stuDepart = new JLabel(系别, JLabel.CENTER);id = new JTextField(15);name = new JTextField(15);age = new JTextField(15);sex = new JTextField(15);depart = new JTextField(15);top.add(stuID);top.add(stuName);top.add(stuAge);top.add(stuSex);top.add(stuDepart);left.add(id);left.add(name);left.add(age);left.add(sex);left.add(depart);bottom = new JPanel();save = new JButton(保存);save.addActionListener(this);cancel = new JButton(取消);cancel.addActionListener(this);bottom.add(save);bottom.add(cancel);this.add(top, BorderLayout.CENTER);this.add(left, BorderLayout.EAST);this.add(bottom, BorderLayout.SOUTH);/ 设置窗体属性this.setSize(230, 200);this.setLocation(1000, 300);this.setVisible(true);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif (e.getSource() = save) String values = id.getText().trim(), name.getText().trim(),age.getText().trim(), sex.getText().trim(),depart.getText().trim() ;String sql = insert into stus values(?,?,?,?,?);sm = new StuModel();sm.updStu(sql, values);this.dispose();else if(e.getSource()=cancel)this.dispose();package com.sutmanage.version2;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class UpdateStu extends JDialog implements ActionListener / 定义swing组件JPanel top, bottom, left;JLabel stuID, stuName, stuAge, stuSex, stuDepart;JTextField id, name, age, sex, depart;JButton save, cancel;StuModel sm = null;String values;/ 构造函数public UpdateStu(JFrame owner, String title, boolean modal, StuModel sm,int idValue) super(owner, title, modal);/ 创建组件top = new JPanel(new GridLayout(5, 1);left = new JPanel(new GridLayout(5, 1);stuID = new JLabel(学生ID, JLabel.CENTER);stuName = new JLabel(姓名, JLabel.CENTER);stuAge = new JLabel(年龄, JLabel.CENTER);stuSex = new JLabel(性别, JLabel.CENTER);stuDepart = new JLabel(系别, JLabel.CENTER);id = new JTextField(15);id.setText(sm.getValueAt(idValue, 0).toString();id.setEditable(false);name = new JTextField(15);name.setText(sm.getValueAt(idValue, 1).toString();age = new JTextField(15);age.setText(sm.getValueAt(idValue, 2).toString();sex = new JTextField(15);sex.setText(sm.getValueAt(idValue, 3).toString();depart = new JTextField(15);depart.setText(sm.getValueAt(idValue, 4).toString();top.add(stuID);top.add(stuName);top.add(stuAge);top.add(stuSex);top.add(stuDepart);left.add(id);left.add(name);left.add(age);left.add(sex);left.add(depart);bottom = new JPanel();save = new JButton(保存);save.addActionListener(this);cancel = new JButton(取消);cancel.addActionListener(this);bottom.add(save);bottom.add(cancel);this.add(top, BorderLayout.CENTER);this.add(left, BorderLayout.EAST);this.add(bottom, BorderLayout.SOUTH);/ 设置窗体属性this.setSize(230, 200);this.setLocation(1000, 300);this.setVisible(true);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif (e.getSource() = save) String values = name.getText().trim(), age.getText().trim(),sex.getText().trim(), depart.getText().trim(),id.getText().trim() ;String sql = update stus set stuName=?,stuAge=?,stuSex=?,stuDepart=? where stuID=?;sm = new StuModel();sm.updStu(sql, values);this.dispose();else if(e.getSource()=cancel)this.dispose();/* * 功能:数据库操作模型 */package com.sutmanage.version2;import java.sql.*;import java.util.Vector;public class SqlHelper public static final String DRIVER = com.mysql.jdbc.Driver;public static final String DBURL = jdbc:mysql:/:3306/StuManage;public static final String DBUSRER = root;public static final String DBPWD = 123456;/ 连接数据库的组件Connection con;java.sql.PreparedStatement ps;ResultSet rs;/ 构造函数,在调用SqlHelper类时,就自动建立连接public SqlHelper() / 建立数据库连接try Class.forName(DRIVER); cat

温馨提示

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

最新文档

评论

0/150

提交评论