📄 bhqs.java
字号:
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import javax.swing.table.*;
class BHQS extends JFrame implements ActionListener{
JTable table; //定义表格
DefaultTableModel dtm; //定义数据模型
Vector title=new Vector();
JPanel p1=new JPanel();
JScrollPane p2;
// JLabel cx=new JLabel("输入要查询学生的系名:");
JTextField xcx=new JTextField(20);
JButton ok=new JButton("查询");
// JLabel L1=new JLabel("性别:");
JLabel L2=new JLabel("输入班主任编号:");
JComboBox combSex=new JComboBox();
JTextField txtAddr=new JTextField(20);
PreparedStatement pstmt; //定义预处理对象
ResultSet rs;
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbstu";
Connection con;
public BHQS(){
String sql="select student.学号,student.姓名 ,student.性别,student.专业 , student.学院名称,master.班主任姓名,address.班主任编号 from address,master,student where address.班主任编号=master.班主任编号 and address.学号=student.学号 and master.班主任姓名 like ? and address.班主任编号 like ?" ;//
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch(java.lang.ClassNotFoundException eaa) {
System.err.print("ClassNotFoundException: ");
System.err.println(eaa.getMessage());
}
try{con = DriverManager.getConnection(url, "sa", "");}catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
try{
pstmt=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//利用连接对象创建预处理对象
pstmt.setString(1,"%"); //设置查询条件
pstmt.setString(2,"%"); //设置查询条件
rs=pstmt.executeQuery();
ResultSetMetaData dbmd=rs.getMetaData(); //获得表的元数据
for(int i=1;i<=dbmd.getColumnCount();i++)
title.addElement(dbmd.getColumnName(i)); //将列名填入表头向量
dtm=new DefaultTableModel(null,title);
table=new JTable(dtm);
initTable();
table.setRowHeight(20);
p2=new JScrollPane(table);
combSex.addItem("所有");combSex.addItem("男");combSex.addItem("女");
// p1.add(L1);p1.add(combSex);
p1.add(L2);
p1.add(txtAddr); //p1.add(cx);
p1.add(ok);
ok.addActionListener(this);
this.getContentPane().add(p1,"North");
this.getContentPane().add(p2,"Center");
}catch(Exception e){e.printStackTrace();dispose();}
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
try{
rs.close();
pstmt.close();
}catch(SQLException ee){ee.printStackTrace();}
}
});
setTitle("按班主任查询所有学生信息");
setSize(600,400);
setVisible(true);
}
void initTable(){
dtm.setRowCount(0);
try{
rs.beforeFirst();
while(rs.next()){
Vector v1=new Vector();
for(int i=1;i<=title.size();i++)
v1.addElement(rs.getString(i));
dtm.addRow(v1);
}
}catch(SQLException e){e.printStackTrace();}
dtm.fireTableStructureChanged();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==ok){
String sex=(String)combSex.getSelectedItem();
String addr=txtAddr.getText();
try{
if(sex.equals("所有")) pstmt.setString(1,"%");
else pstmt.setString(1,sex);
if(addr.equals(" ")) pstmt.setString(2,"%");
else pstmt.setString(2,addr+"%");
rs=pstmt.executeQuery();//执行查询
txtAddr.setText(" ");
}catch(SQLException ee){}
}
initTable();
}
// public static void main(String args[]) {
// BHQX mainFrame = new BHQX();}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -