学生管理系统-韩顺平java
/**
* 功能:简易学生管理系统
* 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 stub
new StuManageSystemVersion1();
}
//更新数据模型
public void updStuModel(){
sm=new StuModel();
sm.queryStu("select * from stus", null);
jt.setModel(sm);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(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;
}else{
int 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;
}else{
int id=jt.getSelectedRow();
sm=new StuModel();
sm.queryStu("select * from stus", null);
UpdateStu us=new UpdateStu(this, "修改学生信息", true,sm,id);
//更新数据模型
this.updStuModel();
}
}
}
}
/**
* 这是我的一个Stu
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
的模型
*
*/
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