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

📄 informationinquiry.java

📁 用java刚刚写了不久的学生管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//作者:沈阳
//时间:2008年11月8日
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.sql.*;
import javax.swing.table.*;
/*-------------------------------InformationInquiry-----------------------------------------*/
class InformationInquiry extends JFrame implements ActionListener{
	JButton jbExacQuery = new JButton("精    确    查    询");
	JButton jbBlurQuery = new JButton("分    类    查    询");
	JButton jbReturn = new JButton("返    回    上    级");
	int userPriority;
	InformationInquiry(int priority){ 
		userPriority = priority;
		Container container = this.getContentPane();
		container.setLayout(new BorderLayout());
		jbExacQuery.setPreferredSize(new Dimension(215,50));
	    jbBlurQuery.setPreferredSize(new Dimension(215,50));
	    jbReturn.setPreferredSize(new Dimension(215,50));
	    jbExacQuery.setFont(new java.awt.Font("Dialog",1,20));   
	    jbBlurQuery.setFont(new java.awt.Font("Dialog",1,20));   
	    jbReturn.setFont(new java.awt.Font("Dialog",1,20));  
		JPanel jpTop = new JPanel();
		JPanel jpTop1 = new JPanel();
		JPanel jpCenter = new JPanel();
		JPanel jpCenter1 = new JPanel();
		JPanel jpCenter2 = new JPanel();
		JPanel jpCenter3 = new JPanel();
		JPanel jpBottom = new JPanel();
		JPanel jpBottom1 = new JPanel();
		JPanel jpBottom2 = new JPanel();
		jpBottom.setLayout(new GridLayout(2,1));
		jpBottom.add(jpBottom1);
		jpBottom.add(jpBottom2);	
		jpCenter.setLayout(new GridLayout(3,1));
		jpTop.add(jpTop1);
		jpCenter1.add(jbExacQuery);
		jpCenter2.add(jbBlurQuery);
		jpCenter3.add(jbReturn);
		jpCenter.add(jpCenter1);
		jpCenter.add(jpCenter2);
		jpCenter.add(jpCenter3);
		jbExacQuery.addActionListener(this);
		jbBlurQuery.addActionListener(this);
		jbReturn.addActionListener(this);
		container.add("North",jpTop);
		container.add("Center",jpCenter);
		container.add("South",jpBottom);
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
		setLocation((screen.width - 380) / 2,(screen.height - 500) / 2);
		setTitle("学生信息查询");
 		setResizable(false);
		setSize(410,340);
		setVisible(true);
	}
	public void actionPerformed(ActionEvent e){
		if(e.getSource() == jbExacQuery){
			dispose();
			new	ExactQuery();
		}
		else if(e.getSource() == jbBlurQuery){
			dispose();
			new	BlurQuery();
		}
		else if(e.getSource() == jbReturn){
			dispose();
			new MainWindow(userPriority);	
		}
	}//actionPerformed

	//------------------------------------------ExactQuery-----------------------------------------------
	class ExactQuery extends JFrame implements ActionListener{
		JButton ascertain = new JButton("确定");
		JButton exit = new JButton("退出");			
		JButton jbContinue = new JButton("继  续");
		JButton exitPane = new JButton("退 出");	
		JTextField txtInputNumber = new JTextField(15);		//for  query
		JTextField txtStudentName = new JTextField(15);
		JTextField txtSpeciality = new JTextField(15);
		JTextField txtAcademy = new JTextField(15);
		JTextField txtDormName = new JTextField(15);
		JTextField txtBedchamberNumber = new JTextField(15);	
		JTextField txtTouchPhone = new JTextField(15);
		JTextField txtTeacherName = new JTextField(15);
		JTextField txtTeacherPhone = new JTextField(15);
		String inputNumber;
		ExactQuery(){
			Container container = this.getContentPane();
	 		container.setLayout(new BorderLayout());
	 		JPanel jpInputNumber = new JPanel();
	 	 	jpInputNumber = new JPanel(new FlowLayout(FlowLayout.LEFT));
	 		jpInputNumber.add(new JLabel("输入学号"));		
	 		jpInputNumber.add(txtInputNumber);
	 		ascertain.setPreferredSize(new Dimension(60,22));
	 		exit.setPreferredSize(new Dimension(60,22));	
	 		jpInputNumber.add(ascertain);
	 		jpInputNumber.add(exit);		
	 		JPanel jpTop1 = new JPanel();
	 		JPanel jpTop = new JPanel();
	 		jpTop.setLayout(new GridLayout(3,1));
	 		jpTop.add(jpTop1);
	 		jpTop.add(jpInputNumber);
	 		txtInputNumber.addActionListener(this);
	 		ascertain.addActionListener(this);
	 		exit.addActionListener(this);		
	 		container.add("North",jpTop);
	 		setSize(380,460);
	 		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
			setLocation((screen.width - 370) / 2,(screen.height - 480) / 2);
	    	setTitle("学生信息精确查询");
	    	setResizable(false);
	    	setVisible(true);	
		}//ModifyStudent
		//--------------------------------actionPerformed-------------------------------------
	 	public void actionPerformed(ActionEvent e){
			if(e.getSource() == ascertain || e.getSource() == txtInputNumber){
				if(txtInputNumber.getText().equals("")){
					JOptionPane.showMessageDialog(null,"请输入学生学号!");	
					txtInputNumber.requestFocus();
				}
				else{
					Statement stm = null;
	    			ResultSet rs = null;
	    			String studentName;	
	    			String speciality;
	    			String academy;
	    			String dormName;
	    			String bedchamberNumber;
	    			String touchPhone;
	    			String teacherName;
	    			String teacherPhone;
	    			String sql;
	    			boolean flag = false;
	    			inputNumber = txtInputNumber.getText();
					ConnectServer.mainLink();		//建立和数据库的连接。
			   		try{			   			
					 	stm = ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
	        		/*	sql = "SELECT * FROM student,master,address WHERE student.stu_number = address.stu_number";
 						sql = sql+" AND address.master_number = master.master_number AND";
 						sql = sql+" student.stu_number = '"+inputNumber+"'";*/
 						sql = "SELECT * FROM student WHERE stu_number = '"+inputNumber+"'";
	        			System.out.println(sql);/////////////////////////////////////////////////
	        			rs = stm.executeQuery(sql);
	        			while(rs.next()){		//****************only for test*****************
	     					if( txtInputNumber.getText().trim().equals(rs.getString("stu_number"))){
	     						flag = true;
	     						studentName = rs.getString("stu_name");
	     						speciality = rs.getString("speciality");
	     						academy = rs.getString("academy");
								System.out.println(""+studentName+" "+speciality+" "+academy);
								txtStudentName.setText(studentName);
								txtSpeciality.setText(speciality);
						 		txtAcademy.setText(academy);
	     					}
	     				}
	     				sql = "SELECT * FROM address WHERE stu_number= '"+inputNumber+"'";
	     				System.out.println(sql);
	     				rs = stm.executeQuery(sql);
	     				while(rs.next()){
	     					if( txtInputNumber.getText().trim().equals(rs.getString("stu_number"))){
	     						dormName = rs.getString("dorm_name");
								bedchamberNumber = rs.getString("bedchamber_number");
								touchPhone = rs.getString("touch_phone");
								System.out.println(""+dormName+" "+bedchamberNumber+" "+touchPhone);
								txtDormName.setText(dormName);
								txtBedchamberNumber.setText(bedchamberNumber);
								txtTouchPhone.setText(touchPhone);
	     					}
	     				}
	     				sql = "SELECT * FROM master,address WHERE address.master_number";
	     				sql = sql+" = master.master_number AND stu_number = '"+inputNumber+"'";
	     				System.out.println(sql);
	     				rs = stm.executeQuery(sql);
						while(rs.next()){
							teacherName = rs.getString("master_name");
							teacherPhone = rs.getString("master_phone");//////	
							System.out.println(""+teacherName+" "+teacherPhone);
							txtTeacherName.setText(teacherName);
							txtTeacherPhone.setText(teacherPhone);//////////
						}
						stm.close();		//关闭数据库连接
						ConnectServer.con.close();		
						inputNumber = txtInputNumber.getText();
					}
		 			catch(Exception ee){
	     				JOptionPane.showMessageDialog(null,"数据库操作失败!");	
	     				System.exit(0);
		   			}
		   			txtInputNumber.setEditable(false);
		   			ascertain.setEnabled(false);
		   			exit.setEnabled(false);		//11.9--------------------------------------------
					dispose();
					ModifyPane();
				}//else	
			}
			else if(e.getSource() == jbContinue){
				dispose();
				new ExactQuery();	
			}
			else if(e.getSource() == exit || e.getSource() == exitPane){
				dispose();
			 	new InformationInquiry(userPriority);
			}	
		}//actionPerformed 
		//--------------------------------------ModifyPane-----------------------------------------
		public void ModifyPane() {
			System.out.println("-----------------------------------------ModifyStudent()-InformationPane()");
			String title[] = {"姓         名","专         业","学院名称","寝室名称",
								  "寝室号码","联系电话","教师姓名","教师电话"};
		 	Container container = this.getContentPane();
	 	 	container.setLayout(new BorderLayout());	
	 		JPanel p[] = new JPanel[9];
	 	 	for(int i = 1;i < 9;i++){
	 	 		p[i] = new JPanel(new FlowLayout(FlowLayout.LEFT));
	 	 	}
	 		for(int i = 1;i < 9;i++){
	 			p[i].add(new JLabel(title[i - 1]));		
	 		}						
	 		p[1].add(txtStudentName);
	 		p[2].add(txtSpeciality);
	 		p[3].add(txtAcademy);
	 		p[4].add(txtDormName);
	 		p[5].add(txtBedchamberNumber);
	 		p[6].add(txtTouchPhone);
	 		p[7].add(txtTeacherName);
	 		p[8].add(txtTeacherPhone);
	 		JPanel jpCenterPane = new JPanel();
			jpCenterPane.setLayout(new GridLayout(9,1));
	 		for(int i = 1;i < 9;i++){
	 			jpCenterPane.add(p[i]);	
	 		}
	    	JPanel jpTopPane = new JPanel();
	    	JPanel jpTopPane1 = new JPanel();
	    	JPanel jpTopPane2 = new JPanel();
	    	JPanel jpTopPane3 = new JPanel();
	    	JPanel jpTopPane4 = new JPanel();
	    	JPanel jpTopPane5 = new JPanel();
	     	JPanel jpTopPane6 = new JPanel();
	     	JPanel jpTopPane7 = new JPanel();
	    	JPanel jpTopPane8 = new JPanel();
	    	JPanel jpTopPane9 = new JPanel();
	    	jpTopPane.setLayout(new GridLayout(9,1));
	    	jpTopPane.add(jpTopPane1);
	    	jpTopPane.add(jpTopPane2);
	    	jpTopPane.add(jpTopPane3);
	    	jpTopPane.add(jpTopPane4);
	   		jpTopPane.add(jpTopPane5);
	    	jpTopPane.add(jpTopPane6);
	    	jpTopPane.add(jpTopPane7);
	    	jpTopPane.add(jpTopPane8);
	    	jpTopPane.add(jpTopPane9);	
	 		JPanel jpBottomPane1 = new JPanel();
	 		JPanel jpBottomPane2 = new JPanel();
	 		JPanel jpBottomPane = new JPanel();
	 		jpBottomPane1 = new JPanel(new FlowLayout(FlowLayout.CENTER,40,10));
	 		jpBottomPane1.add(jbContinue);
	 		jpBottomPane1.add(exitPane);
	 		jpBottomPane.setLayout(new GridLayout(2,1));
	 		jpBottomPane.add(jpBottomPane1);
	 		jpBottomPane.add(jpBottomPane2);
			txtAcademy.addActionListener(this);
	 		jbContinue.addActionListener(this);
	 		exitPane.addActionListener(this);
	 		container.add("North",jpTopPane);
	 		container.add("Center",jpCenterPane);
	 		container.add("South",jpBottomPane); 
	 		txtStudentName.setEditable(false);
			txtSpeciality.setEditable(false);
			txtAcademy.setEditable(false);
			txtDormName.setEditable(false);
			txtBedchamberNumber.setEditable(false);
			txtTouchPhone.setEditable(false);
			txtTeacherName.setEditable(false);
			txtTeacherPhone.setEditable(false);
	 		setSize(380,460);
	 		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
			setLocation((screen.width - 370) / 2,(screen.height - 480) / 2);
	    	setTitle("学生信息精确查询");
	    	setResizable(false);
	    	setVisible(true);	
		}
	}//end of class ExactQuery*/	
	/*------------------------------------BlurQuery-----------------------------------------*/
	class BlurQuery extends JFrame implements ActionListener{
		JLabel jlabel1 = new JLabel("请选择查询类型");
		JLabel jlabel2 = new JLabel("请选择系名");
		JLabel jlabel3 = new JLabel("请选择寝室编号");
		JLabel jlabel4 = new JLabel("请选择班主任");
		JComboBox jcbQueryType = new JComboBox();
		JComboBox jcbName1 = new JComboBox();
 		JComboBox jcbName2 = new JComboBox();
 		JComboBox jcbName3 = new JComboBox();
 	 	String[] header = {"学号","姓名","年龄","专业","系名","学院"};
 		Object[][] data={{"","","","","",""}};	
 		JTable jtable = new JTable(data,header);
 		JScrollPane jsp = new JScrollPane(jtable);
		JButton jbQuery = new JButton("查   询");
		JButton jbExit = new JButton("退   出"); 
		String selectedItem1;
		String selectedItem2;
		String selectedItem3;
		boolean flagName1 = false;
		boolean flagName2 = false;
		boolean flagName3 = false;
		BlurQuery(){
			Container container = this.getContentPane();
			container.setLayout(new BorderLayout());
			jtable.setColumnSelectionAllowed(true);                 //使选框成为一个单元格
			jtable.setGridColor(Color.blue);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -