📄 usermanage.java
字号:
package tools;
/*
* 创建日期 2006-5-23
* 作者: 褚廷军
* 项目名称:学生考试系统;
* 项目要求:毕业设计;
* 模块名称:服务器端用户管理模块
* 模块功能:考试系统的服务端用户管理界面,
* 从数据库中获得用户表,用JTable显示,
* 可以完成查看,删除等基本操作
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
import javax.swing.*;
import java.sql.*;
import java.util.Properties;
import java.awt.*;
import java.awt.event.*;
class UserManage extends JPanel implements ActionListener
{
private static final long serialVersionUID = -4236780873619163467L;
Object a[][]; //创建二维数组对象,用来显示表中的数据,因为表是二维的
Object columnName[] = {"准考证号","考生姓名","考生密码","考生班级","数学成绩","英语成绩","考试标记"};//用来显示列名
JTable table;
JButton query,delete,advanced;
JProgressBar p_bar;
JLabel lab;
JOptionPane op=new JOptionPane();
String name,number,pass,sclass;
Connection con;
Statement stmt;
ResultSet rs;
// String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=serverDB.mdb";//指定JDBC驱动程序
// String url="sun.jdbc.odbc.JdbcOdbcDriver";
// String strurl="jdbc:odbc:stutest";
JPanel pan;
int i;
private String escore;
private String mscore;
private String flag;
private String driver;
private String url;
private String user;
private String password;
UserManage()
{
lab=new JLabel("学生信息显示",JLabel.CENTER);
lab.setFont(new Font("楷体_GB2312",Font.PLAIN,18));
lab.setForeground(Color.blue);
a = new Object[30][8];
table = new JTable(a,columnName);
setSize(300,300);
setVisible(true);
try {
Properties ps = new Properties();
ps.load(getClass().getResourceAsStream("/db.properties"));
this.driver = ps.getProperty("driver");
this.url = ps.getProperty("url");
this.user = ps.getProperty("user");
this.password = ps.getProperty("password");
System.out.println(driver);
System.out.println(url);
System.out.println(user);
System.out.println(password);
} catch (Exception e) {
System.out.println(e);
}
try{
Class.forName(driver);
}
catch(ClassNotFoundException e){}
try{
con = DriverManager.getConnection(url,user,password);
stmt = con.createStatement();
}
catch(SQLException ee){}
query = new JButton("查看");query.addActionListener(this);
delete=new JButton("删除");delete.addActionListener(this);
advanced=new JButton("高级");advanced.addActionListener(this);
pan=new JPanel();
pan.setLayout(new FlowLayout());
pan.add(query);
pan.add(delete);
pan.add(advanced);
p_bar=new JProgressBar(JProgressBar.VERTICAL,0,10000);
p_bar.setStringPainted(true);
p_bar.setFont(new Font("宋体",Font.PLAIN,14));
setLayout(new BorderLayout());
add(lab,"North");
add(pan,"South");
add(new JScrollPane(table),"Center");
add(p_bar,"West");
}
public void update()
{
i=0;
try
{
rs=stmt.executeQuery("select * from stuinfo");
while(rs.next())
{
number=rs.getString(1);
name=rs.getString(2);
pass=rs.getString(3);
sclass=rs.getString(4);
escore=rs.getString(5);
mscore=rs.getString(6);
flag=rs.getString(7);
a[i][0]=number;
a[i][1]=name;
a[i][2]=pass;
a[i][3]=sclass;
a[i][4]=escore;
a[i][5]=mscore;
a[i][6]=flag;
i++;
p_bar.setValue(i);
p_bar.setString("共有"+i+"位考生");
}
table.repaint();
}
catch (Exception ex) {}
table.repaint();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==query)//选择查看按纽
{
for (int i = 0; i<30; i++)
{
for (int j = 0; j<6; j++)
{
a[i][j]=null;
}
}
table.repaint();
update();
}
else if(e.getSource()==advanced)
{
new EditUser().setVisible(true);
}
else if(e.getSource()==delete)//选中删除按纽
{
table.repaint();
if(table.getSelectedRow()==-1)
{
JOptionPane.showMessageDialog(this,"请先选中要删除的考生!","信息提示",JOptionPane.INFORMATION_MESSAGE);
}
else if(table.getSelectedRow()<i)//返回首个选定行的索引,如果没有选定的行,则返回 -1。
{
String s=(String)table.getValueAt(table.getSelectedRow(),table.getSelectedColumnCount()-1);
int m=JOptionPane.showConfirmDialog(this,"你确定删除?","警告对话框",JOptionPane.YES_NO_OPTION);
if(m==JOptionPane.YES_OPTION)
{
try
{
Class.forName(driver); //加载指定的驱动程序
con=DriverManager.getConnection(url,"",""); //建立连接
stmt=con.createStatement();//发送SQL语句
stmt.executeUpdate("delete from stuinfo where sno='"+s+"'");
}
catch (Exception ex) { System.out.println(ex);}
for (int i = 0; i<30; i++)
{
for (int j = 0; j<6; j++)
{
a[i][j]=null;
}
}
table.repaint();
update();
JOptionPane.showMessageDialog(this,"删除成功!","信息提示",JOptionPane.INFORMATION_MESSAGE);
}
else
{
op.setVisible(false);//设置警告框不可用
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -