📄 stuquery.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import javax.swing.table.*;
import java.util.Vector;
public class StuQuery extends JFrame implements ActionListener {
DataBaseManager db = new DataBaseManager();
ResultSet rs;
Container c;
JPanel panel1, panel2;
JLabel StuNuLabel, StuNameLabel;
JTextField StuNuTextField, StuNameTextField;
JButton SearchBtn, ExitBtn;
JTable table = null;
DefaultTableModel defaultModel = null;
public StuQuery() {
super("查询学生");
this.setResizable(false);
c = getContentPane();
c.setLayout(new BorderLayout());
StuNuLabel = new JLabel("学号 ", JLabel.CENTER);
StuNameLabel = new JLabel("姓名", JLabel.CENTER);
StuNuTextField = new JTextField(15);
StuNameTextField = new JTextField(15);
SearchBtn = new JButton("查询");
ExitBtn = new JButton("退出");
SearchBtn.addActionListener(this);
ExitBtn.addActionListener(this);
Box box1 = Box.createHorizontalBox();
box1.add(StuNuLabel);
box1.add(StuNuTextField);
box1.add(SearchBtn);
Box box2 = Box.createHorizontalBox();
box2.add(StuNameLabel);
box2.add(StuNameTextField);
box2.add(ExitBtn);
Box boxH = Box.createVerticalBox();
boxH.add(box1);
boxH.add(box2);
boxH.add(Box.createVerticalGlue());
panel1 = new JPanel();
panel1.add(boxH);
panel2 = new JPanel();
String[] name = { "学号", "身份证号码" ,"姓名","性别","所在院系","所在专业","年级","班级","族别","政治面貌" ,
"出生日期","家庭住址","联系电话","备注"};
String[][] data = new String[0][0];
defaultModel = new DefaultTableModel(data, name);
table = new JTable(defaultModel);
table.setPreferredScrollableViewportSize(new Dimension(950, 380));
JScrollPane s = new JScrollPane(table);
panel2.add(s);
c.add(panel1, BorderLayout.NORTH);
c.add(panel2, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == ExitBtn) {
this.dispose();
} else if (e.getSource() == SearchBtn) {
String strSQL = "select 学号,身份证号码,姓名,性别,所在院系,所在专业,年级,班级,族别,政治面貌,出生日期,家庭住址,联系电话,备注 from xs";
String strSql =null;
if (StuNuTextField.getText().trim().equals("")
&& StuNameTextField.getText().trim().equals("")) {
strSql = strSQL;
} else if (StuNuTextField.getText().trim().equals("")) {
strSql = strSQL + " where 姓名 like '%"
+ StuNameTextField.getText().trim() + "%'";
} else if (StuNameTextField.getText().trim().equals("")) {
strSql = strSQL + " where 学号 like '%"
+ StuNuTextField.getText().trim() + "%'";
} else {
strSql = strSQL + " where 学号 like '%"
+ StuNuTextField.getText().trim()
+ "%' and 姓名 like '%"
+ StuNameTextField.getText().trim() + "%'";
}
try {
// 首先要删除table中的数据:
int rowCount = defaultModel.getRowCount() - 1;// 取得table中的数据行;
int j = rowCount;
for (int i = 0; i <= rowCount; i++) {
defaultModel.removeRow(j);// 删除rowCount行的数据;
defaultModel.setRowCount(j);// 重新设置行数;
j = j - 1;
}
rs = db.getResult(strSql);
while (rs.next()) {
Vector data = new Vector();
data.addElement(rs.getString(1));
data.addElement(rs.getString(2));
data.addElement(rs.getString(3));
data.addElement(rs.getString(4));
data.addElement(rs.getString(5));
data.addElement(rs.getString(6));
data.addElement(rs.getString(7));
data.addElement(rs.getString(8));
data.addElement(rs.getString(9));
data.addElement(rs.getString(10));
data.addElement(rs.getString(11));
data.addElement(rs.getString(12));
data.addElement(rs.getString(13));
data.addElement(rs.getString(14).substring(0, 20));
if (rs.getString(14) != null) {
data.addElement(rs.getString(14).substring(0, 20));
}
defaultModel.addRow(data);
}
table.revalidate();
} catch (SQLException sqle) {
System.out.println(sqle.toString());
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -