资源描述
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.JDialog;
import javax.swing.JFrame;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.table.*;
public class Xsglxt extends JFrame implements ActionListener
{ JFrame frame;
JPanel mb1,mb2,mb3,mb4,mb5;
JLabel bq1,bq2,bq4,bq5,bq6;
JTextField wbk1;
JButton an1,an2,an3,an4,an5;
JTable bg1;
JScrollPane gd1;
Xsxx xsxx2;
JTextField wby;
JPasswordField mima;
public static void main(String[] args)throws Exception
{
Xsglxt xs=new Xsglxt();
}
public Xsglxt()
{ ImageIcon icon=new ImageIcon("C:/Users/Administrator/Desktop/A.jpg");
frame=new JFrame("学生管理系统登入");
an5=new JButton("登入");
an5.setActionCommand("dengru");
an5.setBackground(Color.GREEN);
an5.addActionListener(this);
mb3=new JPanel();mb4=new JPanel();mb5=new JPanel();
bq2=new JLabel("欢迎来到福建工程学院国脉信息学院的学生管理系统");bq2.setFont(new Font("黑体",Font.TYPE1_FONT,20));
Border b=BorderFactory.createLineBorder(Color.red);
Border a=BorderFactory.createTitledBorder(b);
mb3.setBorder(a);
bq2.setVerticalAlignment(JLabel.NORTH);
mb3.add(bq2); mb3.setBackground(Color.GREEN);
bq4=new JLabel("管理者");
bq5=new JLabel("密 码");
bq6=new JLabel(icon);
wby=new JTextField(20);
mima=new JPasswordField(20);
Border c=BorderFactory.createTitledBorder(b);
mb4.setBorder(c);
mb4.setLayout(new FlowLayout(FlowLayout.CENTER));
mb4.add(bq6);
mb4.add(bq4);mb4.add(wby);
mb4.add(bq5);mb4.add(mima);mb4.add(an5);
mb4.setBackground(Color.blue);
frame.getContentPane().add(mb3,BorderLayout.NORTH);
frame.getContentPane().add(mb4,BorderLayout.CENTER);
frame.getContentPane().add(mb5,BorderLayout.SOUTH);
mb1=new JPanel();
bq1=new JLabel("请输入姓名");
wbk1=new JTextField(10);
an1=new JButton("查询");
an1.addActionListener(this);
an1.setActionCommand("chaxun");
an1.setBackground(Color.red);
mb1.add(bq1); mb1.add(wbk1); mb1.add(an1);
mb1.setBackground(Color.green);
mb2=new JPanel();
an2=new JButton("添加");
an2.addActionListener(this);
an2.setActionCommand("tianjia");
an3=new JButton("修改");
an2.setBackground(Color.red);
an3.addActionListener(this);
an3.setActionCommand("xiugai");
an3.setBackground(Color.red);
an4=new JButton("删除");
an4.addActionListener(this);
an4.setActionCommand("shanchu");
an4.setBackground(Color.red);
mb2.add(an2); mb2.add(an3); mb2.add(an4);
mb2.setBackground(Color.blue);
xsxx2=new Xsxx();
bg1=new JTable(xsxx2);
gd1=new JScrollPane(bg1);
frame.setSize(900,225);
frame.setLocation(201,181);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
this.add(gd1);
this.add(mb1,"North");
this.add(mb2,"South");
this.setTitle("学生管理系统");
this.setSize(700,300);
this.setLocation(201,181);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(false);
}
public void actionPerformed(ActionEvent e){
char[] pw=mima.getPassword();
String passsword=new String(pw);
if(e.getActionCommand().equals("dengru")){
if(wby.getText().equals("")&&passsword.equals(""))
JOptionPane.showMessageDialog(frame,"您没有输入用户名和密码,请输入","error",JOptionPane.ERROR_MESSAGE);
else if(wby.getText().equals("山川")&&passsword.equals("1314520")){
this.setVisible(true);
frame.setVisible(false);
}
else
JOptionPane.showMessageDialog(frame,"输入错误,请重新输入","error",JOptionPane.ERROR_MESSAGE);}
else if(e.getActionCommand().equals("chaxun"))
{
String xingming=this.wbk1.getText().trim();
if(xingming.equals(""))
{ xsxx2=new Xsxx(); bg1.setModel(xsxx2);
}
else
{
String sql="select * from xuesheng where 姓名='"+xingming+"'";
xsxx2=new Xsxx(sql);
bg1.setModel(xsxx2);}
}
else if(e.getActionCommand().equals("tianjia"))
{
Tianjia tj=new Tianjia(this,"添加学生信息",true);
xsxx2=new Xsxx();
bg1.setModel(xsxx2);
}
else if(e.getActionCommand().equals("xiugai"))
{
int ii=this.bg1.getSelectedRow();
if(ii==-1)
{
JOptionPane.showMessageDialog(this,"请选中要修改的行");
return;
}
new Xiugai(this,"修改学生信息",true,xsxx2,ii);
xsxx2=new Xsxx();
bg1.setModel(xsxx2);
}
else if(e.getActionCommand().equals("shanchu"))
{
int ii=this.bg1.getSelectedRow();
if(ii==-1)
{
JOptionPane.showMessageDialog(this,"请选中要删除的行");
return;
}
String st=(String)xsxx2.getValueAt(ii,0);
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
Statement sm=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:sql server","sa","ydyd4488321");
ps=ct.prepareStatement("delete from xuesheng where 学号=?");
ps.setString(1,st);
ps.executeUpdate();
} catch (Exception e2){}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(ct!=null)
{
ct.close();
}
} catch (Exception e3){}
}
xsxx2=new Xsxx();
bg1.setModel(xsxx2);
}
}
}
class Xsxx extends AbstractTableModel
{
Vector ziduan,jilu;
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
public int getRowCount()
{
return this.jilu.size();
}
public int getColumnCount()
{
return this.ziduan.size();
}
public Object getValueAt(int hang, int lie)
{
return ((Vector)this.jilu.get(hang)).get(lie);
}
public Xsxx()
{
this.sqlyj("select * from xuesheng");
}
public Xsxx(String ss)
{
this.sqlyj(ss);
}
public String getColumnName(int e)
{
return (String)this.ziduan.get(e);
}
public void sqlyj(String sql)
{
ziduan=new Vector();
ziduan.add("学号");
ziduan.add("姓名");
ziduan.add("性别");
ziduan.add("年龄");
ziduan.add("籍贯");
ziduan.add("所在院系");
ziduan.add("担任职务");
ziduan.add("JAVA");
ziduan.add("微机");
jilu=new Vector();
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:sql server","sa","ydyd4488321");
ps=ct.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next())
{
Vector hang=new Vector();
hang.add(rs.getString(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getInt(4));
hang.add(rs.getString(5));
hang.add(rs.getString(6));
hang.add(rs.getString(7));
hang.add(rs.getInt(8));
hang.add(rs.getInt(9));
jilu.add(hang);
}
} catch (Exception e){}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(ct!=null)
{
ct.close();
}
} catch (Exception e){}
}
}
}
class Xiugai extends JDialog implements ActionListener
{
JLabel bq1,bq2,bq3,bq4,bq5,bq6,bq7,bq8,bq9;;
JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6,wbk7,wbk8,wbk9;
JButton an1,an2;
JPanel mb1,mb2,mb3,mb4;
public Xiugai(Frame fck,String ckm,Boolean msck,Xsxx xsxx2,int hang)
{
super(fck,ckm,msck);
bq1=new JLabel(" 学号 ");
bq2=new JLabel(" 姓名 ");
bq3=new JLabel(" 性别 ");
bq4=new JLabel(" 年龄 ");
bq5=new JLabel(" 籍贯 ");
bq6=new JLabel(" 院系 ");
bq7=new JLabel(" 职务 ");
bq8=new JLabel(" JAVA ");
bq9=new JLabel(" 微机 ");
wbk1=new JTextField(5);
wbk1.setText((String)xsxx2.getValueAt(hang,0));
wbk1.setEditable(false);
wbk2=new JTextField(5);
wbk2.setText((String)xsxx2.getValueAt(hang,1));
wbk3=new JTextField(5);
wbk3.setText((String)xsxx2.getValueAt(hang,2));
wbk4=new JTextField(5);
wbk4.setText((String)xsxx2.getValueAt(hang,3).toString());
wbk5=new JTextField(5);
wbk5.setText((String)xsxx2.getValueAt(hang,4));
wbk6=new JTextField(5);
wbk6.setText((String)xsxx2.getValueAt(hang,5));
wbk7=new JTextField(5);
wbk7.setText((String)xsxx2.getValueAt(hang,6));
wbk8=new JTextField(5);
wbk8.setText((String)xsxx2.getValueAt(hang,7).toString());
wbk9=new JTextField(5);
wbk9.setText((String)xsxx2.getValueAt(hang,8).toString());
an1=new JButton("修改");
an1.addActionListener(this);
an1.setActionCommand("xiugai");
an2=new JButton("取消");
an2.addActionListener(this);
an2.setActionCommand("quxiao");
mb1=new JPanel();
mb2=new JPanel();
mb3=new JPanel();
mb4=new JPanel();
mb1.setLayout(new GridLayout(9,1));
mb2.setLayout(new GridLayout(9,1));
mb1.add(bq1); mb1.add(bq2); mb1.add(bq3);
mb1.add(bq4); mb1.add(bq5); mb1.add(bq6); mb1.add(bq7); mb1.add(bq8); mb1.add(bq9);
mb2.add(wbk1); mb2.add(wbk2); mb2.add(wbk3);
mb2.add(wbk4); mb2.add(wbk5); mb2.add(wbk6); mb2.add(wbk7); mb2.add(wbk8); mb2.add(wbk9);
mb3.add(an1); mb3.add(an2);
this.add(mb1,BorderLayout.WEST);
this.add(mb2);
this.add(mb3,BorderLayout.SOUTH);
this.add(mb4,BorderLayout.EAST);
this.setSize(370,270);
this.setLocation(401,281);
this.setResizable(false);
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("xiugai"))
{
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
Statement sm=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:sql server","sa","ydyd4488321");
String ss=("update xuesheng set 姓名=?,性别=?,年龄=?,籍贯=?,所在院系=? ,担任职务=?,JAVA=?,微机=? where 学号=?");
ps=ct.prepareStatement(ss);
ps.setString(1,wbk2.getText());
ps.setString(2,wbk3.getText());
ps.setString(3,wbk4.getText());
ps.setString(4,wbk5.getText());
ps.setString(5,wbk6.getText());
ps.setString(6,wbk7.getText());
ps.setString(7,wbk8.getText());
ps.setString(8,wbk9.getText());
ps.setString(9,wbk1.getText());
ps.executeUpdate();
this.dispose();
} catch (Exception e2){}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(ct!=null)
{
ct.close();
}
} catch (Exception e3){}
}
}
else if(e.getActionCommand().equals("quxiao"))
{
this.dispose();
}
}
}
class Tianjia extends JDialog implements ActionListener
{
JLabel bq1,bq2,bq3,bq4,bq5,bq6,bq7,bq8,bq9;
JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6,wbk7,wbk8,wbk9;
JButton an1,an2;
JPanel mb1,mb2,mb3,mb4;
public Tianjia(Frame fck,String ckm,Boolean msck)
{
super(fck,ckm,msck);
bq1=new JLabel(" 学号 ");
bq2=new JLabel(" 姓名 ");
bq3=new JLabel(" 性别 ");
bq4=new JLabel(" 年龄 ");
bq5=new JLabel(" 籍贯 ");
bq6=new JLabel(" 院系 ");
bq7=new JLabel(" 职务 ");
bq8=new JLabel(" JAVA ");
bq9=new JLabel(" 微机 ");
wbk1=new JTextField(5);
wbk2=new JTextField(5);
wbk3=new JTextField(5);
wbk4=new JTextField(5);
wbk5=new JTextField(5);
wbk6=new JTextField(5);
wbk7=new JTextField(5);
wbk8=new JTextField(5);
wbk9=new JTextField(5);
an1=new JButton("添加");
an1.addActionListener(this);
an1.setActionCommand("tianjia2");
an1.setBackground(Color.red);
an2=new JButton("取消");
an2.addActionListener(this);
an2.setActionCommand("quxiao");
an2.setBackground(Color.red);
mb1=new JPanel();
mb2=new JPanel();
mb3=new JPanel();
mb4=new JPanel();
mb1.setLayout(new GridLayout(9,1));
mb2.setLayout(new GridLayout(9,1));
mb1.add(bq1); mb1.add(bq2); mb1.add(bq3);
mb1.add(bq4); mb1.add(bq5); mb1.add(bq6);mb1.add(bq7); mb1.add(bq8); mb1.add(bq9);
mb2.add(wbk1); mb2.add(wbk2); mb2.add(wbk3);
mb2.add(wbk4); mb2.add(wbk5); mb2.add(wbk6); mb2.add(wbk7); mb2.add(wbk8); mb2.add(wbk9);
mb3.add(an1); mb3.add(an2);
this.add(mb1,BorderLayout.WEST);
this.add(mb2);
this.add(mb3,BorderLayout.SOUTH);
this.add(mb4,BorderLayout.EAST);
this.setSize(370,270);
this.setLocation(401,281);
this.setResizable(false);
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("tianjia2"))
{
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
Statement sm=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:sql server","sa","ydyd4488321");
String ss=("insert into xuesheng values(?,?,?,?,?,?,?,?,?)");
ps=ct.prepareStatement(ss);
ps.setString(1,wbk1.getText());
ps.setString(2,wbk2.getText());
ps.setString(3,wbk3.getText());
ps.setString(4,wbk4.getText());
ps.setString(5,wbk5.getText());
ps.setString(6,wbk6.getText());
ps.setString(7,wbk7.getText());
ps.setString(8,wbk8.getText());
ps.setString(9,wbk9.getText());
ps.executeUpdate();
this.dispose();
} catch (Exception e2){}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(ct!=null)
{
ct.close();
}
} catch (Exception e3){}
}
}
else if(e.getActionCommand().equals("quxiao"))
{
this.dispose();
}
}
}
展开阅读全文