📄 informationinquiry.java
字号:
jtable.setRowHeight(20);
JPanel jpTop = new JPanel();
JPanel jpTop1 = new JPanel();
JPanel jpTop2 = new JPanel();
jpTop.setLayout(new GridLayout(2,1));
jpTop2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
jcbQueryType.addItem("按系查询");
jcbQueryType.addItem("按班主任查询");
jcbQueryType.addItem("按寝室编号查询");
jpTop2.add(jlabel1);
jpTop2.add(jcbQueryType);
jpTop2.add(new JLabel(" "));
jpTop.add(jpTop1);
jpTop.add(jpTop2);
JPanel jpBottom = new JPanel();
JPanel jpBottom1 = new JPanel();
JPanel jpBottom2 = new JPanel();
jbQuery.setPreferredSize(new Dimension(80,30));
jbExit.setPreferredSize(new Dimension(80,30));
jbQuery.setFont(new java.awt.Font("Dialog",1,14));
jbExit.setFont(new java.awt.Font("Dialog",1,14));
jpBottom.setLayout(new GridLayout(2,1));
jpBottom2 = new JPanel(new FlowLayout(FlowLayout.CENTER,120,10));
jpBottom2.add(jbQuery);
jpBottom2.add(jbExit);
jpBottom.add(jpBottom2);
jpBottom.add(jpBottom1);
jcbQueryType.addActionListener(this);
jbQuery.addActionListener(this);
jbExit.addActionListener(this);
jcbName1.addActionListener(this);
jcbName2.addActionListener(this);
jcbName3.addActionListener(this);
container.add("North",jpTop);
container.add("Center",jsp);
container.add("South",jpBottom);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width - 600) / 2,(screen.height - 540) / 2);
setTitle("学生人数统计");
setResizable(false);
setSize(650,450);
setVisible(true);
}//BlurQuery
public void actionPerformed(ActionEvent e){
Statement stm = null;
ResultSet rs = null;
String sql;
if(e.getSource() == jcbQueryType){
Container container = this.getContentPane();
container.setLayout(new BorderLayout());
String[] header = {"学号","姓名","年龄","专业","系名","学院"};
Object[][] data={{"","","","","",""}};
JTable jtable = new JTable(data,header);
JScrollPane jsp = new JScrollPane(jtable);
jtable.setColumnSelectionAllowed(true); //使选框成为一个单元格
jtable.setGridColor(Color.blue);
jtable.setRowHeight(20);
JPanel jpTop = new JPanel();
jpTop.setLayout(new GridLayout(2,1));
JPanel jpTop1 = new JPanel();
JPanel jpTop2 = new JPanel();
jpTop2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel jpBottom = new JPanel();
JPanel jpBottom1 = new JPanel();
JPanel jpBottom2 = new JPanel();
String [] department = new String[20];
String [] bedchamberNumber = new String[20];
String [] masterName = new String[20];
String Temp;
int countProfession = 0;
int countChamberNumber = 0;
int countMasterName = 0;
ConnectServer.mainLink(); //建立和数据库的连接。
if(jcbQueryType.getSelectedItem().equals("按系查询")){
container.removeAll();
jpTop2.add(jlabel1);
jpTop2.add(jcbQueryType);
jpTop2.add(new JLabel(" "));
jpTop2.add(jlabel2);
jpTop2.add(jcbName1);
jpTop.add(jpTop1);
jpTop.add(jpTop2);
try{
stm = ConnectServer.con.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stm.executeQuery("SELECT distinct department FROM student");
while(rs.next()){
Temp = rs.getString("department");
department[countProfession] = Temp;
countProfession++;
}
stm.close(); //关闭数据库连接
ConnectServer.close();
}
catch(Exception ee){
JOptionPane.showMessageDialog(null,"数据库操作失败!");
System.exit(0);
}
for(int i = 0;i < countProfession;i++){
if(flagName1 == false){
jcbName1.addItem(department[i]);
}
System.out.println(""+jcbName1.getSelectedItem());//////////////////////
}
flagName1 = true;
}//按系查询
else if(jcbQueryType.getSelectedItem().equals("按班主任查询")){
container.removeAll();
jpTop2.add(jlabel1);
jpTop2.add(jcbQueryType);
jpTop2.add(new JLabel(" "));
jpTop2.add(jlabel3);
jpTop2.add(jcbName2);
jpTop.add(jpTop1);
jpTop.add(jpTop2);
try{
stm = ConnectServer.con.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stm.executeQuery("SELECT distinct master_name FROM master");
while(rs.next()){
Temp = rs.getString("master_name");
masterName[countMasterName] = Temp;
countMasterName++;
}
stm.close(); //关闭数据库连接
ConnectServer.close();
}
catch(Exception ee){
JOptionPane.showMessageDialog(null,"数据库操作失败!");
System.exit(0);
}
for(int i = 0;i < countMasterName;i++){
if(flagName2 == false){
jcbName2.addItem(masterName[i]);
}
System.out.println(""+jcbName2.getSelectedItem());///////////////////////////////
}
flagName2 = true;
}//按班主任查询
else if(jcbQueryType.getSelectedItem().equals("按寝室编号查询")){
container.removeAll();
jpTop2.add(jlabel1);
jpTop2.add(jcbQueryType);
jpTop2.add(new JLabel(" "));
jpTop2.add(jlabel4);
jpTop2.add(jcbName3);
jpTop.add(jpTop1);
jpTop.add(jpTop2);
try{
stm = ConnectServer.con.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stm.executeQuery("SELECT distinct bedchamber_number FROM address");
while(rs.next()){
Temp = rs.getString("bedchamber_number");
bedchamberNumber[countChamberNumber] = Temp;
countChamberNumber++;
}
stm.close(); //关闭数据库连接
ConnectServer.close();
}
catch(Exception ee){
JOptionPane.showMessageDialog(null,"数据库操作失败!");
System.exit(0);
}
for(int i = 0;i < countChamberNumber;i++){
if(flagName3 == false){
jcbName3.addItem(bedchamberNumber[i]);
}
System.out.println(""+jcbName3.getSelectedItem());////////////////
}
flagName3 = true;
}//按寝室编号查询
jpBottom.setLayout(new GridLayout(2,1));
jpBottom2 = new JPanel(new FlowLayout(FlowLayout.CENTER,120,10));
jpBottom2.add(jbQuery);
jpBottom2.add(jbExit);
jpBottom.add(jpBottom2);
jpBottom.add(jpBottom1);
container.add("North",jpTop);
container.add("Center",jsp);
container.add("South",jpBottom);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width - 600) / 2,(screen.height - 540) / 2);
setLocation((screen.width - 600) / 2,(screen.height - 540) / 2);
setTitle("学生人数统计");
setResizable(false);
setSize(650,450);
setVisible(true);
}
else if(e.getSource() == jcbName1){
selectedItem1 = (String) jcbName1.getSelectedItem();
selectedItem2 = null;
selectedItem3 = null;
}
else if(e.getSource() == jcbName2){
selectedItem2 = (String) jcbName2.getSelectedItem();
selectedItem1 = null;
selectedItem3 = null;
}
else if(e.getSource() == jcbName3){
selectedItem3 = (String) jcbName3.getSelectedItem();
selectedItem1 = null;
selectedItem2 = null;
}
else if(e.getSource() == jbQuery){
System.out.println(""+selectedItem1);
System.out.println(""+selectedItem2);
System.out.println(""+selectedItem3);
ConnectServer.mainLink(); //建立和数据库的连接。
int i = 0;
if(selectedItem1 != null){
try{
stm = ConnectServer.con.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
sql = "SELECT * FROM student WHERE department = '"+selectedItem1+"'";
System.out.println(sql);/////////////////////for testing
rs = stm.executeQuery(sql);
System.out.println("-----------------------------------------------------------------------------");
while(rs.next()){
System.out.print(""+rs.getString("stu_number")+" "+rs.getString("stu_name")+" ");
System.out.print(""+rs.getString("stu_age")+" "+rs.getString("speciality")+" ");
System.out.println(""+rs.getString("department")+" "+rs.getString("academy"));
/* jtable.setValueAt((Object)rs.getString("stu_number"),i,0);
jtable.setValueAt((Object)rs.getString("stu_name"),i,1);
jtable.setValueAt((Object)rs.getString("stu_age"),i,2);
jtable.setValueAt((Object)rs.getString("speciality"),i,3);
jtable.setValueAt((Object)rs.getString("department"),i,4);
jtable.setValueAt((Object)rs.getString("academy"),i,5);
i++;*/
}
System.out.println("***************************************************");
stm.close(); //关闭数据库连接
ConnectServer.close();
}
catch(Exception ee){
JOptionPane.showMessageDialog(null,"数据库操作失败!");
System.exit(0);
}
}//按系查询
else if(selectedItem2 != null){
try{
stm = ConnectServer.con.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
sql = "SELECT student.stu_number,stu_name,stu_age,speciality,department";
sql = sql+",academy FROM student,address,master WHERE";
sql = sql + " student.stu_number = address.stu_number AND";
sql = sql + " master.master_number = address.master_number AND";
sql = sql + " master_name = '"+selectedItem2+"'";
System.out.println(sql);/////////////////////for testing
rs = stm.executeQuery(sql);
System.out.println("-----------------------------------------------------------------------------");
while(rs.next()){
System.out.print(""+rs.getString("stu_number")+" "+rs.getString("stu_name")+" ");
System.out.print(""+rs.getString("stu_age")+" "+rs.getString("speciality")+" ");
System.out.println(""+rs.getString("department")+" "+rs.getString("academy"));
}
System.out.println("***************************************************");
stm.close(); //关闭数据库连接
ConnectServer.close();
}
catch(Exception ee){
JOptionPane.showMessageDialog(null,"数据库操作失败!");
System.exit(0);
}
}//按班主任查询
else if(selectedItem3 != null){
try{
stm = ConnectServer.con.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
sql = "SELECT * FROM student,address WHERE student.stu_number";
sql = sql+" = address.stu_number AND bedchamber_number = '"+selectedItem3+"'";
System.out.println(sql);/////////////////////for testing
rs = stm.executeQuery(sql);
System.out.println("-----------------------------------------------------------------------------");
while(rs.next()){
System.out.print(""+rs.getString("stu_number")+" "+rs.getString("stu_name")+" ");
System.out.print(""+rs.getString("stu_age")+" "+rs.getString("speciality")+" ");
System.out.println(""+rs.getString("department")+" "+rs.getString("academy"));
}
System.out.println("***************************************************");
stm.close(); //关闭数据库连接
ConnectServer.close();
}
catch(Exception ee){
JOptionPane.showMessageDialog(null,"数据库操作失败!");
System.exit(0);
}
}//按寝室编号查询
}
else if(e.getSource() == jbExit){
dispose();
new InformationInquiry(userPriority);
}
}//actionPerformed
}//end of class BlurQuery
}//end of class InformationInquiry
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -