⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bhqs.java

📁 创建一个数据库dbstu,其中包括下列表: 1.student(学号
💻 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 + -